我们在数据库中存储日期时间时,通常建议存储为长整型数字,既有利于数据优化,也有利于操作日期数据时的统一。这就需要用到日期、字符串即长整型数据之间的互相转换。我们接下来就解决这样的问题。
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
版权声明:本文为weixin_37654790原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。