在Java中解析JavaScript日期字符串

在Java中解析JavaScript日期字符串,java,javascript,date,Java,Javascript,Date,JavaScript客户端向我的服务器发送一些字符串,其中一个字符串是JavaScript日期对象的字符串表示形式 现在,这个JavaScript日期对象有自己的格式,我只是想知道是否有一个类可以进行正确的转换,因为我在使用SimpleDataFormatter时遇到了问题 这就是JavaScript日期字符串的外观:2013年2月12日星期二21:12:28 GMT+0100(CET)我个人喜欢格式化程序的一个主要原因是:它们是线程安全且不可变的,因此您可以创建一个,静态保存它,并毫无顾虑地重

JavaScript客户端向我的服务器发送一些字符串,其中一个字符串是JavaScript日期对象的字符串表示形式

现在,这个JavaScript日期对象有自己的格式,我只是想知道是否有一个类可以进行正确的转换,因为我在使用
SimpleDataFormatter
时遇到了问题

这就是JavaScript日期字符串的外观:
2013年2月12日星期二21:12:28 GMT+0100(CET)

我个人喜欢格式化程序的一个主要原因是:它们是线程安全且不可变的,因此您可以创建一个,静态保存它,并毫无顾虑地重用它。Joda还允许简单地指定时区等。当然,它们最终会创建Joda对象,这在我看来是另一个优势——我尽量避开Java的日期/时间API


话虽如此,我们需要更多地了解您试图解析的格式,以及
SimpleDataFormatter
的问题所在。(一般来说,如果你在某件事情上“遇到问题”并希望修复这些问题,最好用一个简短但完整的程序来说明问题所在。)

用javascript序列化日期的最佳方法是使用
toutString
(不仅仅是
toString()
toutString
将生成rfc 822日期(与http使用的格式相同)。然后,您可以使用以下SimpleDataFormat模式在java中对其进行解析:

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH)

SimpleDataFormatter有什么问题吗?试试moment.js,相信我,你会摆脱所有这些烦人的问题。如果你不能控制日期的制作人,并且使用
。ToutString()
不是一个选项,你可以使用以下格式:
“EE MMM d y H:m:s'GMT'Z(zz)”