Java中String类型与时间戳转换 - 24小时和12小时制

来源:互联网 发布:淘宝客服销售技巧 编辑:程序博客网 时间:2024/04/27 12:58

在Java中进行字符串和时间戳的转换常常用到SimpleDateFormat类

例如:

String date1 = "2016-08-03 00:22:43";SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );Date dt1;try {dt1 = sdf.parse(date1);long ts1 = dt1.getTime();System.out.println(date1 + ": " + ts1);} catch (ParseException e) {// TODO 自动生成的 catch 块e.printStackTrace();}


需要注意的是:

SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
使用的是24小时的时间制。

SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss" );
使用的是12小时的时间制。可能会导致时间排序混乱


样例代码1(使用12小时制):

String date1 = "2016-08-03 12:18:56";String date2 = "2016-08-03 00:22:43";SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss" );Date dt1;Date dt2;//long dura = 0l;try {dt1 = sdf.parse(date1);dt2 = sdf.parse(date2);long ts1 = dt1.getTime();long ts2 = dt2.getTime();System.out.println("date1: " + date1 + " 转换后的时间:" + ts1);System.out.println("date2: " + date2 + " 转换后的时间:" + ts2);} catch (ParseException e) { // TODO 自动生成的 catch 块e.printStackTrace();}
结果1:

date1: 2016-08-03 12:18:56 转换后的时间:1470154736000
date2: 2016-08-03 00:22:43 转换后的时间:1470154963000


样例代码2(使用24小时制):

String date1 = "2016-08-03 12:18:56";String date2 = "2016-08-03 00:22:43";SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );Date dt1;Date dt2;//long dura = 0l;try {dt1 = sdf.parse(date1);dt2 = sdf.parse(date2);long ts1 = dt1.getTime();long ts2 = dt2.getTime();System.out.println("date1: " + date1 + " 转换后的时间:" + ts1);System.out.println("date2: " + date2 + " 转换后的时间:" + ts2);} catch (ParseException e) { // TODO 自动生成的 catch 块e.printStackTrace();}
结果2:

date1: 2016-08-03 12:18:56 转换后的时间:1470197936000
date2: 2016-08-03 00:22:43 转换后的时间:1470154963000


0 0
原创粉丝点击