转自:https://www.xuebuyuan.com/1479399.html

在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换。若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类型,若对应的是MSsqlserver数据库的DateTime类型。

既需要年月日时分秒的,选择java.sql.Timestamp类型。你可以使用dateFormat定义时间日期的格式,转一个字符串即可。

package personal.jessica;
import java.util.Date;
import java.util.Calendar;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
class Datetest{
 /**
  *method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp)
  *@param dateString 需要转换为timestamp的字符串
  *@return dataTime timestamp
  */
 public final static java.sql.Timestamp string2Time(String dateString) 
  throws java.text.ParseException {
     DateFormat dateFormat;
    dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式
    //dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);
    dateFormat.setLenient(false);
    java.util.Date timeDate = dateFormat.parse(dateString);//util类型

//Timestamp类型,timeDate.getTime()返回一个long型
    java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());
    return dateTime;
 }
 /**
  *method 将字符串类型的日期转换为一个Date(java.sql.Date)
  *@param dateString 需要转换为Date的字符串
  *@return dataTime Date
  */
 public final static java.sql.Date string2Date(String dateString)
  throws java.lang.Exception {
    DateFormat dateFormat;
    dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
    dateFormat.setLenient(false);
    java.util.Date timeDate = dateFormat.parse(dateString);//util类型
    java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
    return dateTime;
 }
 
 public static void main(String[] args){
    Date da = new Date();
    //注意:这个地方da.getTime()得到的是一个long型的值
    System.out.println(da.getTime());
  
    //由日期date转换为timestamp
  
    //第一种方法:使用new Timestamp(long)
    Timestamp t = new Timestamp(new Date().getTime());
    System.out.println(t);

//第二种方法:使用Timestamp(int year,int month,int date,int hour,int minute,int second,int nano)
    Timestamp tt = new Timestamp(Calendar.getInstance().get(
          Calendar.YEAR) - 1900, Calendar.getInstance().get(
          Calendar.MONTH), Calendar.getInstance().get(
          Calendar.DATE), Calendar.getInstance().get(
          Calendar.HOUR), Calendar.getInstance().get(
          Calendar.MINUTE), Calendar.getInstance().get(
          Calendar.SECOND), 0);
    System.out.println(tt);

try {
       String sToDate = "2005-8-18";//用于转换成java.sql.Date的字符串
       String sToTimestamp = "2005-8-18 14:21:12.123";//用于转换成java.sql.Timestamp的字符串
       Date date1 = string2Date(sToDate);
       Timestamp date2 = string2Time(sToTimestamp);
       System.out.println("Date:"+date1.toString());//结果显示
       System.out.println("Timestamp:"+date2.toString());//结果显示
    }catch(Exception e) {
       e.printStackTrace();
    }
  }
}///:~

怎样处理一个时间段,比如某人登陆了xx天xx小时xx分xx秒。

这个问题可以如下处理:
        首先你肯定可以从数据库中读取这个用户第一次登陆的具体时间:不妨为2002-01-01 12:00:00
        同样他到目前为止最后登陆的具体时间:不妨为2002-09-08 13:14:15
        若取得是数据本来就是时间类型的,则不用转化,若是String的则可以在转化后处理。
    你可以利用类似上面的例子,取得这两个时间对应的Timestamp值dateTime;然后使用dateTime.getTime()方法得到这两个时间的long值,进行相减(大的减小的,即按时间后减先),得到一个long值,它是用毫秒milliseconds计算的,你将它换算一下就知道多少天多少小时多少分多少秒了,比如首先除于(java中/除)一天的毫秒数,得到天,然后用余下的值除于一小时的毫秒数,得到小时……最后就可以得到所有的需求了。

转载于:https://www.cnblogs.com/sharpest/p/11234236.html

java.sql.Date和java.sql.Timestamp转换相关推荐

  1. java.sql.timestamp_java.sql.Date和java.sql.Timestamp转换

    在开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换.若对应数据库数据是oracle的Date类型,即只需要年月日的,可以选择使用java.sql.Date类 ...

  2. java.util.Date、java.sql.Date和java.sql.Timestamp之间的转换

    背景描述 在编写程序的时候有时候需要对java.util.Date.java.sql.Date和java.sql.Timestamp等日期时间类型进行转换 方法简述 将A(a)这种日期时间类型转换成B ...

  3. mysql java.util.date_jdbc-java.sql.date和java.util.date之间转换

    ?处理数据库数据时我们经常要封装到javaBean对象中,或者把用户传递的传输赋给数据库例:resultSet.setDate(int,Date); 这样就存在一个问题,javaBean中的对象穿梭于 ...

  4. java date只保留年月日_java.util.Date、java.sql.Date、java.sql.Timestamp区别和总结

    在web开发中,避免不了对日期的操作,就几种常见的日期操作做个总结(部分参考网络,在此表示感谢): java.util.Date.java.sql.Datej.java.sql.Timestamp j ...

  5. java.sql.Date引发的日期格式转换错误

    记一次springboot开发中使用jackson进行时间格式化时,由于实体类定义的时间类型为java.sql.Date导致格式化转换错误 前端获取到的结果: 数据库存储的时间: 分析: java.s ...

  6. 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  7. 如何将java.util.Date转换为java.sql.Date?

    我试图使用java.util.Date作为输入,然后用它创建一个查询-所以我需要一个java.sql.Date . 我很惊讶地发现它不能隐式或显式地进行转换-但我什至不知道该怎么做,因为Java AP ...

  8. java中将date插入mysql中date_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  9. java.util.Date与 java.sql.Date两个包下Date的区别与联系

    一般我在项目中导入需要的包,大部分情况下都会根据IDE的提示自动导入默认的包,少数情况下会扫一眼,看看是不是需要的包,极少情况会斟酌一下,确认一下这就是需要的包. 最近在项目中导入JDK中的Date包 ...

最新文章

  1. 如何在 GPU 上优化卷积
  2. Beetlsql自定义生成entity,mapper,md代码
  3. 2019年前端的3个趋势
  4. python3 isinstance用法_对python中assert、isinstance的用法详解
  5. leetcode116. 填充每个节点的下一个右侧节点指针
  6. phoenix-sqlline 连接失败
  7. 动态规划——节点选择(蓝桥杯试题集)
  8. AD 组策略应用与排错(2排错)
  9. Base64编码对照表
  10. python获取月份 pos_python – 如何从POS标记单词列表中提取模式? NLTK
  11. 第一次做web项目购物网站项目总结
  12. PCB板上的蓝宝石---关于光学定位点的DFM
  13. JavaScript中栈内存与堆内存分别是什么?
  14. b站爬虫,用于查询主播舰队用户等级构成
  15. 你有没有被人不动声色的保护过?
  16. php递归函数return问题
  17. STM32配置DAC输出固定电压和方波
  18. ESP32 LVGL8.1 ——Style local style 样式当地的风格 (Style 11)
  19. ORA-12899: value too large for column 问题解决
  20. bat 输入密码_不记得密码了?教你查看设备保存的账号密码,绝对干货

热门文章

  1. 教会你怎么安装和使用 Visio 哦 ~ ~
  2. 白月黑羽教程小收获记录-python基础
  3. 华为matepad切换电脑模式_华为matepadpro可以当电脑用吗,华为matepad pro怎么切换电脑模式...
  4. crash 和 anr的区别
  5. 强大的密码破解工具:hashcat简介与用法介绍与实例
  6. XSS Challenges/刷题/Stage #4
  7. PX4通过I2C方式添加自定义传感器(2)
  8. 什么是集成成像(Integral Image)
  9. 英汉互译在线翻译器-大家都在用的英汉互译翻译器
  10. c++文件操作案例-----创建文本文件