javascript - 将 .NET 日期时间转换为 Javascript 日期

标签 javascript wcf date datetime

我有一个 WCF 服务,可以为我的 javascript 提供一些日期。我想操纵日期,但它到达 javascript 看起来像这样:

/Date(1361145600000+0000)/

我知道这是自 1970 年 1 月 1 日以来的毫秒数,但我一直无法弄清楚如何将其转换为 javascript 日期。

我是否需要使用正则表达式或 trim 文本来提取毫秒数,然后像这样使用它:

new Date(miliseconds)

肯定有更简单的方法吗?

最佳答案

如果“+0000”是标准时区偏移量,则前 2 位数字是小时,后两位数字是分钟。

大概它并不总是'0000'-

您需要将与 UTC 的毫秒差添加(或减去)到第一个整数部分以返回正确的日期。

   function timeconvert(ds){
        var D, dtime, T, tz, off,
        dobj= ds.match(/(\d+)|([+-])|(\d{4})/g);
        T= parseInt(dobj[0]);
        tz= dobj[1];
        off= dobj[2];
        if(off){
            off= (parseInt(off.substring(0, 2), 10)*3600000)+
(parseInt(off.substring(2), 10)*60000);
            if(tz== '-') off*= -1;
        }
        else off= 0;
        return new Date(T+= off).toUTCString();
    }
    timeconvert('Date(1361145600000)+0000');

//返回值:(字符串UTC)

2013 年 2 月 18 日星期一 00:00:00 GMT

如果日期ARE 始终为 UTC('+0000'),您只需从字符串中提取有效数字-

    function timeconvert(ds){
        var d=ds.match(/(\d+)/)[1];
        return new Date(+d).toUTCString();
    }
    timeconvert('Date(1361145600000)+0000)');

// returned value: (String UTC)

Mon, 18 Feb 2013 00:00:00 GMT

关于javascript - 将 .NET 日期时间转换为 Javascript 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859176/

相关文章:

.net - 将 WSE 示例代码转换为 WCF

javascript - Firebase toDate() 使用 CEST 而不是 localTime

javascript - Primefaces 对话框叠加层不起作用

javascript - 删除计时器上动态添加的 div

c# - 无法从本地访问 WCF 服务终结点

php - 将字符串转换为日期和日期时间

javascript - 如何从 moment.unix() 将 moment 解析为特定时区

javascript - 如何使 JavaScript 函数在 Eclipse "Outline View"中可见?

javascript - 我的 ASP.NET 网站在 Chrome 的任务栏上显示纸质图标

xml - 我应该在 WCF 之前学习 XML 吗?