【发布时间】:2014-06-17 02:58:50
【问题描述】:
编辑:我已经编辑了我的问题以包含更多信息,我已经尝试了很多方法来做到这一点,在 StackOverflow 上提问通常是我最后的手段。非常感谢任何帮助。
我有一个格式为 YYYYMMDDHHMMSS 的日期(它是一个时间戳对象)(例如 20140430193247)。这是从我的服务发送到前端的,前端使用 AngularJS 以如下格式显示:日期:'dd/MM/yyyy'。
如何将其转换为 Epoch/Unix 时间?
我已经尝试过与此相关的重复问题,但返回的是不同的日期。
我也尝试了以下方法:
答:
//_time == 20140430193247
return _time.getTime()/1000; // returns 20140430193 - INCORRECT
乙:
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)
谢谢
【问题讨论】:
-
那么到目前为止您尝试过什么? (提示:用于字符串解析的 SimpleDateFormat...)还要注意“特定格式的日期”不是
Timestamp对象。如果你有一个Timestamp,你不能直接打电话给getTime()然后除以1000吗? -
另一个提示:你也需要一个时区。
-
对“java 日期格式”的简单搜索将为您提供解决方案。在发布问题之前,请至少尝试一些研究。
-
Convert DATE Format to Epoch 的可能重复项
-
这不是-6题,加油。