新的日期函数javascript

新的日期函数javascript,javascript,jquery,date,Javascript,Jquery,Date,我有一个日期字符串13/05/2016 08:18,为了从该字符串中获取日期,我使用了new date(13/05/2016 08:18)函数,但它给出了一个错误,因为该函数将13理解为月而不是日,我该如何告诉JavaScript 13是日而不是月date()对象有几个不同的构造函数,但并非所有浏览器都支持所有这些功能。据我所知,包括IE8在内的所有主要浏览器都支持的版本是“yyyy/mm/dd 00:00:00”,因此,为了实例化一个在所有浏览器上都能工作的有效日期,您需要类似于的新日期('2

我有一个日期字符串13/05/2016 08:18,为了从该字符串中获取日期,我使用了
new date(13/05/2016 08:18)
函数,但它给出了一个错误,因为该函数将13理解为月而不是日,我该如何告诉JavaScript 13是日而不是月

date()对象有几个不同的构造函数,但并非所有浏览器都支持所有这些功能。据我所知,包括IE8在内的所有主要浏览器都支持的版本是“yyyy/mm/dd 00:00:00”,因此,为了实例化一个在所有浏览器上都能工作的有效日期,您需要类似于
的新日期('2016/05/13 08:18:00')
Date()对象有几个不同的构造函数,但并非所有浏览器都支持所有这些功能。据我所知,包括IE8在内的所有主要浏览器都支持的版本是“yyyy/mm/dd 00:00:00”,因此为了实例化一个在所有浏览器上都能工作的有效日期,您需要类似于
的新日期('2016/05/13 08:18:00')

我怎样才能告诉javascript 13是一天,而不是一个月

不要依赖JS构造函数(以字符串为参数)来解析任何日期格式。你需要自己去做

var dateStr = "13/05/2016 08:18";
var date = dateStr.split(/\s|\/|:/);
var d = new Date(date[2], date[1], date[0], date[3], date[4]);
我怎样才能告诉javascript 13是一天,而不是一个月

不要依赖JS构造函数(以字符串为参数)来解析任何日期格式。你需要自己去做

var dateStr = "13/05/2016 08:18";
var date = dateStr.split(/\s|\/|:/);
var d = new Date(date[2], date[1], date[0], date[3], date[4]);

有一些解决办法,但确实很好。它是处理datetime的一个很好的助手库

然后你可以做如下事情:

var day = moment("12-25-1995", "MM-DD-YYYY");

然后在日期进行操作

day.add('days', 7)
以及获取本机javascript日期

day.toDate();

有一些解决办法,但确实很好。它是处理datetime的一个很好的助手库

然后你可以做如下事情:

var day = moment("12-25-1995", "MM-DD-YYYY");

然后在日期进行操作

day.add('days', 7)
以及获取本机javascript日期

day.toDate();

这不是最好的方法,但您可以尝试以下技巧:

var dstring = '13/05/2016 08:18';
var nstr = dstring.split('/');
var datestring = nstr[1]+"-"+nstr[0]+"-"+nstr[2];
var d = new Date(datestring);
console.log(d);

这不是最好的方法,但您可以尝试以下技巧:

var dstring = '13/05/2016 08:18';
var nstr = dstring.split('/');
var datestring = nstr[1]+"-"+nstr[0]+"-"+nstr[2];
var d = new Date(datestring);
console.log(d);

你能帮我更新一下你的代码吗?在JS中处理日期可能非常麻烦。我强烈推荐使用类似于moment.js的东西,它为我节省了很多时间。()可能是重复的你能帮我更新你的代码吗?在JS中处理日期可能会非常麻烦。我强烈推荐使用类似于moment.js的东西,它为我节省了很多时间。()可能重复约定的,moment.js操作日期真的很好。但只有当你需要以多种方式操纵几个日期时,如果不需要,这是一个只显示日期的大插件。这应该是一个注释,而不是答案。同意,moment.js操纵日期真的很好。但只有当您需要以多种方式操纵多个日期时,如果不需要,这是一个只显示日期的大插件。这应该是注释,而不是答案。ECMAScript仅指定ISO 8601格式的子集,即使它们也不可靠。对于gurvinder372的答案,手动解析字符串要好得多。ECMAScript只指定ISO 8601格式的一个子集,即使它们也不可靠。对于gurvinder372的答案,手动解析字符串要好得多。你是对的,这不是最好的方法。将字符串拆分为多个部分后,应调用日期构造函数以获得gurvinder372的答案。;-)你说得对,这不是最好的办法。将字符串拆分为多个部分后,应调用日期构造函数以获得gurvinder372的答案。;-)Date的第二个参数需要一个月索引。按您的方式运行,它将返回
2016年6月13日星期一08:18:00 GMT+0100(英国夏季时间)
。您需要从
date[1]
date的第二个参数中减去
1
。按您的方式运行,它将返回
2016年6月13日星期一08:18:00 GMT+0100(英国夏季时间)
。您需要从日期[1]减去
1