我正在尝试使用 SimpleDateFormat 进行简单的纪元转换。每当我运行程序时,我会在转换后继续收到无效日期。我在转换器中运行了纪元邮票[我也将日期存储在外部服务器中],所以我知道输出应该是什么,但我仍然收到错误的转换。我在实验中尝试了对 long epochTime进行多次数学更改,但无济于事。我知道[或者至少我很确定]我的纪元时间戳以毫秒为单位存储,因此需要进行* 1000更改。这就是我所拥有的:
String convertedTime = null;
//(1) //startTime = startTime/1000; --none of these three manipulations solve the issue
//(2) //startTime = startTime * 1000;
//(3) //long change = (long) startTime * 1000;
Date d = newDate(startTime); //startTime is *long* parameter passed into method
SimpleDateFormat formatter = new SimpleDateFormat("mm-dd-yyyy 'at' hh:mm:ss");
convertedTime= formatter.format(d);
例如,如果纪元印章是 1404327407738 且我不包括(1),(2),(3)我在01:56收到 56-02-2014:下午47点
我应该在01:56:47 PM
收到07-02-2014答案 0 :(得分:3)
格式字符串应为“MM-dd-yyyy”at'hh:mm:ss“。
“MM”表示一年中的月份,“mm”表示以小时为单位的分钟数(请参阅http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)。
答案 1 :(得分:1)
应该是MM:
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyyy 'at' hh:mm:ss");