我们有一个要求,我们希望在服务器端代码和服务器端代码中使用一致的日期时间格式。在移动客户端javascript代码上。我们决定使用moment.js,在客户端进行日期格式化。但是两者的输出不同步。
Time Format String: "**YYYY-MM-DD'T'HH:mm:ss.SSSZZ**"
Java Code&输出
java.util.Date d2 = new java.util.Date();
SimpeDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD'T'HH:mm:ss.SSSZZ");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
String formattedDate = sdf.format(d2);
System.out.println(formattedDate);
Output:2015-02-06T03:28:24.333+0000
时刻JS输出
var d2 = new Date();
var format = "YYYY-MM-DD'T'HH:mm:ss.SSSZZ";
alert(moment(d2).format(format));
Output: 2015-02-06'T'03:28:24.333+0000
使用moment.js,T会引用引号。 同样,如果格式为" YYYY-MM-DD' TXYZ' HH:mm:ss.SSSZZ "。 Java输出:2015-02-06TXYZ03:28:24.333 + 0000, 时刻输出:2015-02-06' T1423193658Y + 05:30' 09:04:18.351 + 0530
有人可以建议我一个解决方案,或者更好的替代方案。
答案 0 :(得分:1)
var format =“YYYY-MM-DD'T'HH:mm:ss.SSSZ”
设置格式时,请尝试取消“T”周围的引号。
答案 1 :(得分:1)
您可以使用矩和格式来使用与Java兼容的ZonedDateTime:
moment(this.date).format('YYYY-MM-DDTHH:mm:ss:SSZ')