如何使用javascript将RSS feed的日期转换为荷兰语日期?

时间:2014-02-28 13:55:03

标签: javascript jquery date time

这是我退出RSS Feed的日期:“2014-02-28T20:00:00 + 0100”

现在我想这样:28 Februari 2014 - 20:00

有人能帮助我吗?

3 个答案:

答案 0 :(得分:3)

看看moment.js。它以您想要的任何格式返回日期:http://momentjs.com/

答案 1 :(得分:2)

如果您可以限制使用支持ECMAScript Internationalization API的最新浏览器,则可以执行以下操作:

var dt = new Date("2014-02-28T20:00:00+01:00");

var options = { year:'numeric',
                month:'long',
                day:'numeric',
                hour:'numeric',
                minute:'numeric'};

var s = dt.toLocaleString('nl', options);

结果是"28 februari 2014 11:00"。如果你真的需要连字符:

var dt = new Date("2014-02-28T20:00:00+01:00");

var dateOptions = { year:'numeric', month:'long', day:'numeric' };
var timeOptions = { hour:'numeric', minute:'numeric'};

var s = dt.toLocaleDateString('nl', dateOptions) + ' - ' + 
        dt.toLocaleTimeString('nl', timeOptions);

另外,观察输入字符串的偏移量。某些浏览器(如Internet Explorer)不接受带有+0100的ISO8601格式作为偏移量,但需要+01:00完全扩展。

正如anurag_29指出的那样,如果您需要跨浏览器进行此操作,并且在旧版浏览器中,最好的选择是moment.js

答案 2 :(得分:1)

RegExp可以解决这个问题。

您只需要一个数组来与月份进行比较,然后将其更改为荷兰语中的相应月份。

JsFiddle在这里:http://jsfiddle.net/JdLBs/

代码在这里:

var date = "2014-02-28T20:00:00+0100";
var search = /(.*)T(.*)\+/i;
var result = date.match(search);

var tempYear = result[1].split('-');
var tempTime = result[2].split(':');

var dutchDate = tempYear[2] + ' ' + tempYear[1] + ' ' + tempYear[0] + ' - ' + tempTime[0] + ':' + tempTime[1];

console.log(dutchDate);