kne*_*epe 5 c# jquery json asp.net-mvc-2
我有一个webservice,返回例如DateTime对象:DepartureDate.我使用ajax来获取它,在我的视图中,我使用此函数将JSON日期字符串转换为javascript日期对象:
function convertToDate(jsonDate) {
return eval("new " + jsonDate.substring(1, jsonDate.length - 1));
}
Run Code Online (Sandbox Code Playgroud)
问题是new Date()需要考虑客户端计算机上的本地时间,因此不同国家/地区的客户会得到不同的日期.我想获得从webservice返回的确切日期.有没有简单的方法来实现这一目标?
问题是
new Date()考虑到客户端计算机上的本地时间
不.使用timestamp构造函数创建新Date需要UTC时间戳.
例如在UTC + 1的我的机器上:
new Date(0) // Thu Jan 01 1970 01:00:00 GMT+0100 (CET)
Run Code Online (Sandbox Code Playgroud)
好的,默认toString 显示此日期为01:00:00,看起来不对,但这实际上是正确的时间.UTC + 1中的01:00:00是UTC中的00:00:00,这是时间戳描述的时刻0.
如果你想显示你从UTC时间戳创建日期,使用date.toUTCString()或获取和使用日期格式的consistuent部分getUTCFullYear(),getUTCMonth()等等.
不过请不要eval.
new Date(parseInt(jsonDate.slice(6, -1), 10))
Run Code Online (Sandbox Code Playgroud)