`

长整型转日期的坑

阅读更多

  在工作中,和第三方联调,对方的日期为了节省数据库的存储空间,用varchar类型存储的长整型数字。在转换展示发现竟然是2017年。

  后沟通,原来对方存的是Unix时间戳(Unix timestamp),在转换时需先乘以1000转成毫秒。实例如下:

package com.bijian.test;

public class DateTest {

	public static void main(String[] args) {
		
		long p = 1514447530l;
		String date = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(p));
		System.out.println(date); //1970-01-18 20:40:47
		
		String date2 = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(p * 1000));
		System.out.println(date2); //2017-12-28 15:52:10
		
		System.out.println(System.currentTimeMillis()); //1515936461590
	}
}

 

参考资料:http://tool.chinaz.com/Tools/unixtime.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics