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

如何使用javascript将RSS提要的日期转换为荷兰日期?,javascript,jquery,date,time,Javascript,Jquery,Date,Time,这是我从RSS提要中获得的日期:2014-02-28620:00:00+0100 现在我想要这样:2014年2月28日-20:00 有人能帮我吗?看一下moment.js。它以您想要的任何格式返回日期:查看一下moment.js。它以您想要的任何格式返回日期:RegExp可以解决这个问题 您只需要一个数组来与月份进行比较,并将其更改为相应的荷兰语月份 JSFIDLE在这里: 代码如下: var date = "2014-02-28T20:00:00+0100"; var search = /(.

这是我从RSS提要中获得的日期:2014-02-28620:00:00+0100

现在我想要这样:2014年2月28日-20:00


有人能帮我吗?

看一下moment.js。它以您想要的任何格式返回日期:

查看一下moment.js。它以您想要的任何格式返回日期:

RegExp可以解决这个问题

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

JSFIDLE在这里:

代码如下:

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);
RegExp可以解决这个问题

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

JSFIDLE在这里:

代码如下:

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);

如果您可以将自己限制为支持的最新浏览器,则可以执行以下操作:

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);
结果是2014年2月28日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所指出的,如果您需要在跨浏览器和较旧的浏览器中执行此操作,您的最佳选择是。

如果您可以将自己限制为支持的最新浏览器,则可以执行以下操作:

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);
结果是2014年2月28日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所指出的,如果您需要在跨浏览器和较旧的浏览器中执行此操作,您的最佳选择是。

我不想使用它,因为它对我的应用程序来说太大了。。没有别的办法吗?好的!我想您可以使用javascript的日期函数,如:var Date=new Date2014-02-28620:00:00+0100。我想这应该行得通。我不想用它,因为它对我的应用程序来说太大了。。没有别的办法吗?好的!我想您可以使用javascript的日期函数,如:var Date=new Date2014-02-28620:00:00+0100。我想这应该行得通。记住,月份名称在荷兰语中不是大写的。记住,月份名称在荷兰语中不是大写的。