2017-04-19 81 views
0

我想解析下面的日期字符串22-04-2017。這裏是我的代碼Momentjs返回日期比實際日期落後兩天

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。我不在乎時間,我只需要日期是正確的。

我該如何解決?

回答

1

只需使用moment(String, String)而不是parseZone,因爲您的輸入不包含時區信息。

作爲parseZone文檔說:

矩通常解釋輸入倍本地時間(或UTC時間如果使用moment.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>