最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】C#中将Javascript中new Date()中的参数值,即自从Epoch以来的毫秒,解析成为DateTime

C# crifan 2653浏览 0评论

【问题】

遇到对于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

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.177 seconds, using 22.08MB memory