Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串中的日期转换为日期对象的优雅方式是什么?_Javascript - Fatal编程技术网

Javascript 将字符串中的日期转换为日期对象的优雅方式是什么?

Javascript 将字符串中的日期转换为日期对象的优雅方式是什么?,javascript,Javascript,我有字符串格式的日期: "05/2016" or "12/2015" 如何将上述字符串格式的日期转换为Date()javascript对象?您可能需要查看 我遇到了类似的问题,偶然发现了这个现有链接。您可以拆分字符串以获得数组,然后使用构造函数 新日期(年、月[、日[、小时[、分钟[、秒[、毫秒]) var str=“12/2015”; var arr=str.split('/'); 变量日期=新日期(parseInt(arr[1],10),parseInt(arr[0],10)-1) lo

我有字符串格式的日期:

"05/2016" or "12/2015"
如何将上述字符串格式的日期转换为Date()javascript对象?

您可能需要查看


我遇到了类似的问题,偶然发现了这个现有链接。

您可以拆分字符串以获得数组,然后使用构造函数

新日期(年、月[、日[、小时[、分钟[、秒[、毫秒])

var str=“12/2015”;
var arr=str.split('/');
变量日期=新日期(parseInt(arr[1],10),parseInt(arr[0],10)-1)
log(date)
按以下顺序接受参数:
年、月、日、时、分、秒、毫秒
,所以只需解析字符串并将其传递给日期构造函数即可

var data = "05/2016".split('/');
// Add + before year to convert str into number. Decrease second param because month starts from 0..11. 
var date = new Date(+data[1],data[0]  - 1);
console.log(date);
此外,您还可以将字符串转换为可由
newdate
正确解析的格式(有关dateString的更多信息,请参阅中的)


前面的答案是不正确的——他们要么错了月份,要么错了年份。这是对的(见弗里德里克·哈米迪的评论)

var str=“12/2015”;
var arr=str.split('/');
变量日期=新日期(parseInt(arr[1],10),parseInt(arr[0],10)-1)

控制台。日志(日期)<代码>你将得到一月的1,而不是十二月的1。@ AndriyIvaneyko,错过了,我猜怪别人的答案很难看,因为它们不是常量,可以很容易地更新。还考虑添加自己的注释来帮助作者修复问题而不是部分复制其他代码。(因此会保留错误的答案,当然我指的是简单的情况,如在那个SO问题中…)这个答案现在是正确的,并且比我的答案更好-upvoted您也许可以将代码注释从“减少第一个参数”更改为“减少第二个参数”
// convert string "05/2016" -> "2016-05"
var dateString = "05/2016".split('/').reverse().join('-');
var date = new Date(dateString);
console.log(date);