在此代码中
long timestamp=1332782463298;
Date d=new Date(timestamp);
date=d.toLocaleString();
date
始终是当前日期。我的错误在哪里?
我也尝试过SimpleDateFormat,但它仍然会返回当前日期:
date=new SimpleDateFormat("MM.dd.yyyy").format(d);
答案 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();