程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 在Java中String和Date、Timestamp之間的轉換

在Java中String和Date、Timestamp之間的轉換

編輯:關於JAVA

在Java中String和Date、Timestamp之間的轉換。本站提示廣大學習愛好者:(在Java中String和Date、Timestamp之間的轉換)文章只能為提供參考,不一定能成為您想要的結果。以下是在Java中String和Date、Timestamp之間的轉換正文


1、String與Date(java.util.Date)互轉

     1.1 String -> Date

String dateStr = "// ::";  
    Date date = new Date();  
   //留意format的格局要與日期String的格局相婚配  
   DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
   try {  
     date = sdf.parse(dateStr);  
      System.out.println(date.toString());  
    } catch (Exception e) {  
      e.printStackTrace();  
    } 
 String dateStr = "2010/05/04 12:34:23";
 Date date = new Date();
 //留意format的格局要與日期String的格局相婚配
 DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 try {
  date = sdf.parse(dateStr);
  System.out.println(date.toString());
 } catch (Exception e) {
  e.printStackTrace();
 } 

  1.2 Date -> String

   日期向字符串轉換,可以設置隨意率性的轉換格局format

String dateStr = "";  
   Date date = new Date();  
   //format的格局可以隨意率性  
    DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
   DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");  
    try {  
      dateStr = sdf.format(date);  
     System.out.println(dateStr);  
      dateStr = sdf.format(date);  
      System.out.println(dateStr);  
    } catch (Exception e) {  
      e.printStackTrace();  
    } 
 String dateStr = "";
 Date date = new Date();
 //format的格局可以隨意率性
 DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");
 try {
  dateStr = sdf.format(date);
  System.out.println(dateStr);
  dateStr = sdf2.format(date);
  System.out.println(dateStr);
 } catch (Exception e) {
  e.printStackTrace();
 } 

 2、String與Timestamp互轉

  2.1 String ->Timestamp

   應用Timestamp的valueOf()辦法

Timestamp ts = new Timestamp(System.currentTimeMillis());  
    String tsStr = "-- ::";  
     try {  
       ts = Timestamp.valueOf(tsStr);  
       System.out.println(ts);  
    } catch (Exception e) {  
      e.printStackTrace();  
    } 
 Timestamp ts = new Timestamp(System.currentTimeMillis());
 String tsStr = "2011-05-09 11:49:45";
 try {
  ts = Timestamp.valueOf(tsStr);
  System.out.println(ts);
 } catch (Exception e) {
  e.printStackTrace();
 } 

   注:String的類型必需形如: yyyy-mm-dd hh:mm:ss[.f...] 如許的格局,中括號表現可選,不然報錯!!!

    假如String為其他格局,可斟酌從新解析下字符串,再重組~~

    2.2 Timestamp -> String

  應用Timestamp的toString()辦法或許借用DateFormat

Timestamp ts = new Timestamp(System.currentTimeMillis());  
    String tsStr = "";  
    DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
    try {  
      //辦法一  
      tsStr = sdf.format(ts);  
     System.out.println(tsStr);  
     //辦法二  
    tsStr = ts.toString();  
      System.out.println(tsStr);  
    } catch (Exception e) {  
     e.printStackTrace();  
   } 
 Timestamp ts = new Timestamp(System.currentTimeMillis());
 String tsStr = "";
 DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 try {
  //辦法一
  tsStr = sdf.format(ts);
  System.out.println(tsStr);
  //辦法二
  tsStr = ts.toString();
  System.out.println(tsStr);
 } catch (Exception e) {
  e.printStackTrace();
 } 

 很輕易可以或許看出來,辦法一的優勢在於可以靈巧的設置字符串的情勢。

3、Date( java.util.Date )和Timestamp互轉

  聲明:查API可知,Date和Timesta是父子類關系

  3.1 Timestamp -> Date

Timestamp ts = new Timestamp(System.currentTimeMillis());  
   Date date = new Date();  
   try {  
     date = ts;  
      System.out.println(date);  
    } catch (Exception e) {  
     e.printStackTrace();  
    } 
 Timestamp ts = new Timestamp(System.currentTimeMillis());
 Date date = new Date();
 try {
  date = ts;
  System.out.println(date);
 } catch (Exception e) {
  e.printStackTrace();
 }

 很簡略,然則此刻date對象指向的實體倒是一個Timestamp,即date具有Date類的辦法,但被籠罩的辦法的履行實體在Timestamp中。

   3.2 Date -> Timestamp

   父類不克不及直接向子類轉化,可借助中央的String~~~~

java.sql.Date 只存儲日期數據不存儲時光數據
// 會喪失時光數據
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
//可以如許來處置
preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));
 //想要獲得完全的數據,包含日期和時光,可以如許
java.util.Date d = resultSet.getTimestamp(1);
//如許處置更適合一些,可以免一些潛伏Timestamp 成績
java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());

本身補的話,如許的話:

        往數據庫存儲的時刻可以吸收 java.util.Date類型 再用getTime()辦法獲得代表誰人Date對象的long值,再以這個long值 結構一個Timestamp對象 存進數據庫中。

       從存數據庫裡取的時刻,可以先獲得Timestamp用他的getTime()辦法獲得long值,再以這個long值結構一個java.util.Date對象,如許便可以對這個Date對象操作了。不如說 new SimpleTimeFormat("yyyyy-MM-dd HH:mm:ss").format()等等

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved