数据(时间戳).toLocaleString始终返回当前日期

时间:2012-03-26 17:24:24

标签: java android

在此代码中

long timestamp=1332782463298;
Date d=new Date(timestamp);
date=d.toLocaleString();

date始终是当前日期。我的错误在哪里?

我也尝试过SimpleDateFormat,但它仍然会返回当前日期:

date=new SimpleDateFormat("MM.dd.yyyy").format(d);

3 个答案:

答案 0 :(得分:4)

2012年3月26日(准确地说是17:21:03.298 UTC),时间戳 。尝试一个不同的时间戳(例如1332482563298L),你会得到一个不同的日期......

请注意,您无论如何都不应该使用toLocaleString - SimpleDateFormat是可行的方式(如果可能的话,还是Joda Time)。您可能还想考虑您感兴趣的时区。

答案 1 :(得分:0)

对不起,但你明白long timestamp=1332782463298;是什么吗?这是自1970年1月1日以来毫秒级的UNIX时间戳,如果保持不变,date将始终包含相同的时间。

答案 2 :(得分:0)

改为使用日历:

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(1332782463298);
Date d = cal.getTime();
String current = SimpleDateFormat("MM.dd.yyyy").format(cal.getTime()).toString();