如何将YYYYMMDDHHMMSS格式的日期转换为时期或Unix时间?

编辑:我已经编辑了我的问题,以包括更多信息,我已经尝试了许多方法来执行此操作,在StackOverflow上提问通常是我的最后选择。任何帮助是极大的赞赏。

我有一个日期(它是一个时间戳记对象),格式为YYYYMMDDHHMMSS(例如20140430193247)。它从我的服务发送到前端,并使用AngularJS以以下格式显示:date:’dd

/ MM / yyyy’。

如何将其转换为Epoch / Unix时间?

我已经尝试了与此相关的重复问题,但是我得到的是另一个日期。

我也尝试了以下方法:

A:

//_time == 20140430193247

return _time.getTime()/1000; // returns 20140430193 - INCORRECT

B:

return _time.getTime(); // returns 20140430193247 (Frontend: 23/03/2608) - INCORRECT

C:

Date date = new Date();

//_time = 20140501143245 (i.e. 05/01/2014 14:32:45)

String str = _time.toString();

System.out.println("Time string is " + str);

//Prints: Time string is 2608-03-24 15:39:03.245 meaning _time.toString() cannot be used

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

try {

date = df.parse(str);

} catch (ParseException e) {

}

return date; // returns 20140501143245 - INCORRECT

D:

date = new java.sql.Date(_time.getTime());

return date; // returns 2608-03-24 - INCORRECT

下面正确显示了今天的日期:

Date date = new Date();

return date; // returns 1398939384523 (Frontend: 01/05/2014)

谢谢

回答:

经过一段时间的尝试,我得到了答案。解决方案非常简单-由于toString()不起作用,因此将时间解析为字符串。

    Date date;

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");

try {

date = df.parse(String.valueOf(_time.getTime()));

} catch (ParseException e) {

throw new RuntimeException("Failed to parse date: ", e);

}

return date.getTime();

以上是 如何将YYYYMMDDHHMMSS格式的日期转换为时期或Unix时间? 的全部内容, 来源链接: utcz.com/qa/410167.html

回到顶部