本当に moment.js の問題かどうかはわかりませんが、ここにあります。日付範囲ウィジェットから、「03-01-2015 12:00 AM - 04-30-2015 11:59 PM」の日時を選択しました。console.log によって出力された最初の 2 行に基づいて、コールバック関数に渡される startDate と endDate はどちらも瞬間オブジェクトであり、正しいようです。ただし、startDate.valueOf() に基づいて新しいモーメント インスタンスを作成し、フォーマットされた日付文字列を再度出力すると、新しいモーメント オブジェクトには別のタイムスタンプ (1 時間先) が表示されます。コード スニペットは次のとおりです。
this._daterangepicker = this.$('#dateTimeRange').daterangepicker({
timePicker : true,
timePickerIncrement : 1,
format : 'MM/DD/YYYY hh:mm A'
}, function(startDate, endDate, label) {
let searchController = self.get('controller');
console.log(`time picker date start ${startDate.format('MM-DD-YYYY hh:mm A')}`);
console.log(`time picker date end ${endDate.format('MM-DD-YYYY hh:mm A')}`);
console.log(`time picker reformat date start ${moment(startDate.valueOf()).format('MM-DD-YYYY hh:mm A')}`);
console.log(`time picker reformat date end ${moment(endDate.valueOf()).format('MM-DD-YYYY hh:mm A')}`);
console.log(`original ${startDate.valueOf()} - reformat ${moment(startDate.valueOf()).valueOf()}`);
});
出力は次のとおりです。
time picker date start 03-01-2015 12:00 AM
time picker date end 04-30-2015 11:59 PM
time picker reformat date start 02-28-2015 11:00 PM
time picker reformat date end 04-30-2015 11:59 PM
original 1425193200000 - reformat 1425193200000
開始日は「03-01-2015 12:00 AM」のままであると予想されますが、現在は「02-28-2015 11:00 PM」です。何か案が?ありがとう。