我们有一个要求,我们希望在服务器端代码和移动客户端 javascript 代码中使用一致的日期时间格式。我们决定使用 moment.js,在客户端进行日期格式化。但是两者的输出并不同步。
Time Format String: "**YYYY-MM-DD'T'HH:mm:ss.SSSZZ**"
Java 代码和输出
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
有人可以建议我一个解决方案或更好的替代方案吗。
最佳答案
您可以使用时刻和格式使用 java 兼容的 ZonedDateTime:
moment(this.date).format('YYYY-MM-DDTHH:mm:ss:SSZ')
关于javascript - java & moment js 上的不同日期时间格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28358210/