JavaScript - 告诉Date()以特定格式返回

时间:2017-09-01 08:51:46

标签: javascript angularjs date

我有一个日期字符串,我想使用date()将其转换为日期对象。它正在这样做,但问题是,date()处理任何日期为' MM-dd-yyyy'。

我尝试了以下代码:

var myDate = '09-06-2017'; //which is a string and is in 'dd-MM-yyyy' format from my perspective

var selectedDate = new Date(myDate);
$scope.minDate = $filter('date')(selectedDate, 'yyyy/MM/dd');

console.log(selectedDate);
console.log($scope.minDate);

它将在06-09-2017处理此日期,如果我通过' 13-06-2017'(即任何大于12的值),则会抛出“无效日期”#39 ;在控制台中。

所以我正在寻找一种解决方案,通过该解决方案,我可以告诉date()以特定格式处理传递的字符串。

谢谢。

1 个答案:

答案 0 :(得分:0)

不使用任何库,您可以将日期拆分为部分,并将它们传递给日期(年,月,日)构造函数。



var myDate = '09-06-2017';
var myDateParts = myDate.split('-');
var selectedDate = new Date(myDateParts[2], myDateParts[0] - 1, myDateParts[1]);

console.log(selectedDate);