java Date和數據庫中各種時間的處理


在開發web程序的時候,數據庫的設計避免不了要設置有關於時間存儲的字段。這時候需要通過java的API進行時間字段的存入。

 

一、mysql數據庫為例子

  如mysql數據庫中的Date、DateTime、TimeStamp、Time類型

  1、Date:沒有時間部分。以YYYY-MM-DD格式顯示。支持的范圍是'1000-01-01'到'9999-12-31'。需要3字節。

  2、DateTime:有日期和時間部分。以YYYY-MM-DD HH:MM:SS格式顯示。支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。需要8字節。

  3、Time:表示一天中的時間。以HH:MM:SS格式顯示。支持的范圍是'00:00:00'到'23:59:59'。

  4、TimeStamp:默認情況下是使用當前的時間。以YYYY-MM-DD HH:MM:SS格式顯示。需要4字節。

 

  注意:

  (1) 在書寫sql語句的時候,注意寫入日期字段的時候用 ' ' 進行引入。如:values( ' timeOne ' )

  (2) 在日期的輸入格式有很多種。如常用的"yyyy年MM月dd日  HH時mm分ss秒"、"yyyy-MM-dd HH:mm:ss"、"yyyy/MM/dd HH:mm:ss"

 

二、各種Date之間的轉換

  1、獲取當前系統時間和設置輸出格式

Date date = new Date();

// 設置日期格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = simpleDateFormat.format(date);
System.out.println(format);//輸出格式:2020-02-13 10:30:44

 

  2、String轉為Date

String time = "2020-02-13 10:30:44";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
            
       date = simpleDateFormat.parse(time);// 轉為Date
            
   } catch (ParseException e) {
            e.printStackTrace();
   }
   System.out.println(date); // Thu Feb 13 10:30:44 CST 2020

 

  3、String轉為sql包中的Date

String str = "2020-02-13";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date sqlDate = null;// sql包中的Date
 try {
            
      java.util.Date utildate = simpleDateFormat.parse(str);
      sqlDate = new java.sql.Date(utildate.getTime());
            
    } catch (ParseException e) {
         e.printStackTrace();
 }
     System.out.println(sqlDate); //轉換為 sql包中的Date 2020-02-13

  

  4、Date轉為String

Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = simpleDateFormat.format(date);
System.out.println(str); //輸出格式 2020-02-13 10:38:10

 

  5、Date轉為Datetime/Timestamp

Date date = new Date();

long time = date.getTime();
Timestamp timestamp = new Timestamp(time);
System.out.println(timestamp); // 2020-02-13 10:47:40.349

 

  6、util.Date轉換為sql.Date

//util.Date
Date date = new Date();
long longTime = date.getTime();  // 1581562292229
        
//sql.Date
java.sql.Date sDate = new java.sql.Date(longTime);
System.out.println(sDate);  // 2020-02-13
System.out.println(longTime);

 

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM