我正在尝试解析以下日期字符串22-04-2017
。这是我的代码
var date = moment.parseZone($scope.booking.startDate, 'DD-MM-YYYY').format();
$scope.booking.startDate is 22-04-2017
但我得到以下日期2017-04-20T22:13:00-20:17
。我不关心时间,我只需要正确的日期。
我该如何解决?
答案 0 :(得分:1)
只需使用moment(String, String)
代替parseZone
,因为您的输入不包含时区信息。
正如parseZone
文档所说:
时刻通常将输入时间解释为本地时间(如果使用
moment.utc()
则为UTC时间)。但是,输入字符串本身通常包含时区信息。#parseZone
解析时间,然后根据输入字符串设置区域。
这是一份工作样本:
// Mocking input value
var $scope = {
booking: {
startDate: '22-04-2017'
}
};
var date = moment($scope.booking.startDate, 'DD-MM-YYYY').format();
console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>