迄今为止的时代不能正常运作

时间:2014-07-03 15:42:44

标签: java date simpledateformat epoch

我正在尝试使用 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点

  • 包括(1) - 05-17-1970 at 12:05:27 AM
  • 包括(2) - 35-13-46471于05:35:38 AM
  • 包括(3) - 35-13-46471于05:35:38 AM(是的,我在这里更换了startTime)

应该在01:56:47 PM

收到07-02-2014

2 个答案:

答案 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");