这是我退出RSS Feed的日期:“2014-02-28T20:00:00 + 0100”
现在我想这样:28 Februari 2014 - 20:00
有人能帮助我吗?
答案 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);