【问题】
遇到对于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