我有一个ajax调用,它返回datetime。 Javascript使用客户端时区显示它。我不需要在任何客户端时区,我想显示datetime与服务器返回相同。有可能吗?
我通过以下方式获取约会:
var d = eval('new' + date.replace(/\//g, ' '));
答案 0 :(得分:1)
首先,我没有理由在这里(或几乎在任何地方)使用eval
,并且通常有很多理由不这样做。
JavaScript只有“本地”时间(客户端的时区)和UTC(通用协调时间,实际上与GMT相同)。所以通常最好的选择是让服务器以UTC的形式向您发送时间。但在您的情况下,由于您希望在服务器的时区中显示日期,因此JavaScript是否认为日期是本地时间或服务器时间并不重要,并且可以将其发送到服务器的时区。
请注意,在解析日期字符串时,最近的JavaScript(从ECMAScript5开始)获得了日期字符串的标准格式,这是ISO-8601的简化版本。 Details here。请注意,某些较旧的浏览器尚不支持该格式。
如果没有您尝试解析的示例,则无法提供更多指导。
Diodeus的建议在我看来也很有意义:如果你想要在服务器的时区和格式中显示日期,只需显示你给出的字符串而不解释它(再次,取决于字符串看起来像;我无法立即想出一个合适的格式,可以使用您发布的代码。)