gpt4 book ai didi

java - 如何将 YYYYMMDDHHMMSS 格式的日期转换为纪元或 unix 时间?

转载 作者:行者123 更新时间:2023-12-01 06:38:35 31 4
gpt4 key购买 nike

编辑:我已经编辑了我的问题以包含更多信息,我已经尝试了很多方法来做到这一点,在 StackOverflow 上提问通常是我的最后手段。非常感谢任何帮助。

我有一个格式为 YYYYMMDDHHMMSS 的日期(这是一个 Timestamp 对象)(例如 20140430193247)。这是从我的服务发送到前端,前端使用 AngularJS 以以下格式显示它:日期:'dd/MM/yyyy'。

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

我已经尝试了与此链接的重复问题,我得到的返回的是不同的日期。

我还尝试了以下方法:

答:

//_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();

关于java - 如何将 YYYYMMDDHHMMSS 格式的日期转换为纪元或 unix 时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23394024/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com