2015-02-06 163 views
1

我们有一个要求,我们希望在移动客户端javascript代码上的服务器端代码&上使用一致的日期时间格式。我们决定使用moment.js,在客户端进行日期格式设置。但是两者的输出不同步。java&moment上的不同日期时间格式输出&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

有人建议我一个解决方案,或者更好的替代品。

+0

为什么你会自动认为它会匹配Java?时刻是它自己的事情。人们使用它与各种不同的后端。 – 2015-02-06 07:48:35

回答

1

VAR格式= “YYYY-MM-DD'T'HH:MM:ss.SSSZ”

尝试离开过 'T',当你设置的格式周围的报价。

+0

那么,正如我所提到的,时间格式化程序必须在服务器端和客户端代码中保持一致。另外,这不仅仅是T,还可能有其他角色。 Java格式化程序只是将所有内容放在引号内。但时刻似乎并没有这样做。 – 2015-02-06 05:59:58

相关问题