【问题】
遇到对于Javascript中:
$Cookie.setCookie(‘MSNPPAuth’,”,’.live.com’,’/’,new Date(1327971507311.9),1);
的new Date()中的值1327971507311.9,一个浮点数,表示了毫秒,自从epoch(1970/01/01)以来到现在所经过的毫秒值,将其转换为对应的C#中的DateTime。
注:此处只需要转换为本地local的DateTime即可,因为得到了此local的,可以通过localDateTime.ToUniversalTime转换为UTC的时间。
【解决过程】
1.网上搜了一下,好像没有直接给出解决方案的。
后来经过参考一些帖子,最后实现了对应的代码:
// parse the milli second to local DateTime value public DateTime milliSecToDateTime(double milliSecSinceEpoch) { DateTime st = new DateTime(1970, 1, 1); st = st.AddMilliseconds(milliSecSinceEpoch); return st; }
对应的,获得当前时间所对应的毫秒数,也已经实现了对应的函数:
//refer: http://bytes.com/topic/c-sharp/answers/713458-c-function-equivalent-javascript-gettime-function //get current time in milli-second-since-epoch(1970/01/01) public double getCurTimeInMillisec() { DateTime st = new DateTime(1970, 1, 1); TimeSpan t = (DateTime.Now - st); return t.TotalMilliseconds; // milli seconds since epoch }
转载请注明:在路上 » 【已解决】C#中将Javascript中new Date()中的参数值,即自从Epoch以来的毫秒,解析成为DateTime