日期、字符串及长整型之间的互相转换

  我们在数据库中存储日期时间时,通常建议存储为长整型数字,既有利于数据优化,也有利于操作日期数据时的统一。这就需要用到日期、字符串即长整型数据之间的互相转换。我们接下来就解决这样的问题。

  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
原文地址:https://www.cnblogs.com/lizhangyong/p/8386634.html