我使用以下代码从服务器端C#获取日期:
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = (DateTime)c.ccdTimestamp2;
long x = new TimeSpan(d2.Ticks - d1.Ticks).TotalMilliseconds;
当我在javascript端获取代码时:
function (timestamp) {
alert("testing :" + new Date(timestamp))
}
这给了我一个完全格式化的日期,但它没有带来我的时区的时间,因为如果它是17.15这里,它为我提供19.15 GMT +2!
起初我只是试图传递我的c#时间戳,没有上面的任何代码,发现了这个问题:How do I format a Microsoft JSON date?但我不知道JSON是什么,我无法得到我能做的!使用JSON更容易吗?如果是这样,有人可以指导我吗非常感谢你
编辑:解决方案 - 我没有在服务器端使用通用时间。我保留了服务器端代码。我所做的就是:
new Date(timestamp).toUTCString()
答案 0 :(得分:10)
你应该做的是:
使用的时间戳代表:2012-04-11T15:46:29+00:00
:
var d = new Date ( 1334159189000 );
// gives you back 2012-04-11T15:46:29+00:00 in a slightly different format, but the timezone info matches UTC/GMT+0
d.toUTCString();
// gives you back your local time
d.toLocaleString();
刚刚创建了一个jsfiddle来表明它能够达到预期目标:
http://jsfiddle.net/t8hNs/1/
答案 1 :(得分:4)
使用
var currentDate = new Date();
//get off set from your browser
var offset = Date.getTimezoneOffset();
答案 2 :(得分:3)
您可以使用JavaScriptSerializer
string json = new JavaScriptSerializer().Serialize(DateTime.Now);