日期、字符串及長整型之間的互相轉換


  我們在數據庫中存儲日期時間時,通常建議存儲為長整型數字,既有利於數據優化,也有利於操作日期數據時的統一。這就需要用到日期、字符串即長整型數據之間的互相轉換。我們接下來就解決這樣的問題。

  1.將長整型數字轉換為日期格式的字符串    

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 /**
 5  * 日期/字符串/長整型數字間的互轉
 6  */
 7 public class Test1 {
 8     // 短日期格式
 9     public static String DATE_FORMAT = "yyyy-MM-dd";
10     // 長日期格式
11     public static String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
12     public static void main(String[] args) {
13         System.out.println(System.currentTimeMillis());
14         System.out.println(test1(System.currentTimeMillis(), DATE_FORMAT));
15     }
16     //將長整型數字轉換為日期格式的字符串
17     static String test1(long time, String format) {
18         SimpleDateFormat dateFormat = new SimpleDateFormat(format);
19         Date date = new Date(time);
20         return dateFormat.format(date);
21     }
22 }

  上述代碼執行后輸出結果如下:

1517309922118
2018-01-30

  2.將日期格式的字符串轉換為長整型  

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Date;
 4 /**
 5  * 日期/字符串/長整型數字間的互轉
 6  */
 7 public class Test1 {
 8     // 短日期格式
 9     public static String DATE_FORMAT = "yyyy-MM-dd";
10     // 長日期格式
11     public static String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
12     public static void main(String[] args) {
13 //        System.out.println(System.currentTimeMillis());
14 //        System.out.println(test1(System.currentTimeMillis(), DATE_FORMAT));
15         try {
16             long time = test2(test1(System.currentTimeMillis(), DATE_FORMAT), DATE_FORMAT);
17             System.out.println(time+"");
18         } catch (ParseException e) {
19             e.printStackTrace();
20         }
21     }
22     //將長整型數字轉換為日期格式的字符串
23     static String test1(long time, String format) {
24         SimpleDateFormat dateFormat = new SimpleDateFormat(format);
25         Date date = new Date(time);
26         return dateFormat.format(date);
27     }
28     //將日期格式的字符串轉換為長整型
29     static long test2(String date,String format) throws ParseException {
30         SimpleDateFormat dateFormat = new SimpleDateFormat(format);
31         return dateFormat.parse(date).getTime();
32     }
33 }

  上述代碼執行結果如下:

1517241600000


免責聲明!

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



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