zoukankan      html  css  js  c++  java
  • Date、Calendar、Timestamp的区别与转换

    1、Java.util.Date

    包含年、月、日、时、分、秒信息。

    // String转换为Date  
    String dateStr="2013-8-13 23:23:23";  
    String pattern="yyyy-MM-dd HH:mm:ss";  
    DateFormate dateFormat=new SimpleDateFormat(pattern);  
    Date date=dateFormat.parse(dateStr);  
    date=dateFormat.format(date);  

    2、Java.sql.Date

    包含年、月、日信息。

    继承自Java.util.Date。在数据库相关操作中使用,如rs.getDate,ps.setDate等。rs是指ResultSet,ps是指PreparedStatement。

    // java.util.Date转换为java.sql.Date  
    new java.sql.Date(utilDate.getTime());// 其中utilDate为java.util.Date类型的对象  

    3、Java.util.Calendar

    包含年、月、日、时、分、秒、毫秒信息。

    JDK1.1引入,用以代替java.util.Date。

    // Date转为Calendar  
    Date date=new Date();  
    Calendar calendar=Calendar.getInstance();  
    calendar.setTime(date);  
      
    // Calendar转为Date  
    Calendar ca=Calendar.getInstance();    
    Date d =(Date) ca.getTime();  

    4、Java.sql.Timestamp

    包含年、月、日、时、分、秒、纳秒(nano)信息。

    继承自java.util.Date。比java.sql.Date包含更多信息。在数据库相关操作中使用,如rs.getTimestamp,ps.setTimeStamp等。例如:若数据库中某字段hireDate为Oracle的Date类型,则使用getTimestamp时能够将年、月、日、时、分、秒信息取出;但使用getDate时则只能取出年、月、日信息。因此,一般推荐使用getTimestamp。

    // java.util.Calendar转换为java.sql.Timestamp  
    new Timestamp(Calendar.getInstance().getTimeInMillis());  
    // java.util.Date转换为java.sql.Timestamp  
    new Timestamp(date.getTime());  
    // String转换为java.sql.Timestamp,String格式:yyyy-mm-dd hh:mm:ss[.f...] ,方括号表示可选  
    Timestamp.valueOf("2013-07-06 01:49:30");  

    5、Oracle数据库提供的日期和时间类型

    oracle数据库提供了DATE,TIMESTAMP,TIMESTAMP WITH TIME ZONE和TIMESTAMP WITH LOCAL TIME ZONE四种类型。

    DATE包含世纪、年、月、日、时、分、秒信息。

    TIMESTAMP是DATE的扩展,包含年、月、日、时、分、秒和fractional seconds信息。定义TIMESTAMP的格式如下:

    TIMESTAMP [(fractional_seconds_precision)]  
    // 格式  
    TIMESTAMP 'YYYY-MM-DD HH24:MI:SS.FF'  
    // 一个例子  
    TIMESTAMP '1997-01-31 09:26:50.12'  

    其中fractional_seconds_precision是可选的,用于指定秒使用含几位小数的浮点数表示,它的取值范围是0到9,默认是6。上述例子中表示采用两位小数,它的秒值是50.12。注意:12不是毫秒值,也不是微秒值。

  • 相关阅读:
    數據從一個DB寫入另外一個DB
    js 控制下拉菜單的刷新
    Ajax 加載數據庫中的圖片
    Win7 註冊表 刪除登陸帳號
    產生隨機數
    借助AjaxControlToolkit实现百度搜索时的下拉列表提示
    解决"Windows 安装程序不允许从远程桌面连接安装"
    中文转换成数字金额C#【转】
    让你的Visual Studio 2010自动添加头部注释信息【转】
    C# 图片识别(支持21种语言)【转】
  • 原文地址:https://www.cnblogs.com/areyouready/p/7342035.html
Copyright © 2011-2022 走看看