从 ISO 字符串时刻 JS 库更新日期或时间
Update Date or time from an ISO string moment JS library
从给定字符串更新日期或时间的最简单方法是什么。例如,我有以下格式的时刻日期。
start: '2021-09-30T06:30:00-04:00'
expected output: '2021-09-29T06:30:00-04:00'
现在我想保留当前时间,但将日期替换为 29 日或 28 日,或者更改月份。我该怎么做,我可以使用本机 JS 日期或时刻库,但关键是字符串的其余部分必须相同,它绝对应该保持时区偏移量。
您可以使用
moment().set(String, Int);
moment().set(Object(String, Int));
https://momentjs.com/docs/#/get-set/set/
var dateStr = '2021-09-30T06:30:00-04:00';
var oldDate = moment(dateStr);
// Parse timezone offset
var utcOffset = moment.parseZone(dateStr).utcOffset();
var changedDate = oldDate.set("date", 29);
console.log(changedDate.utcOffset(utcOffset).format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
从给定字符串更新日期或时间的最简单方法是什么。例如,我有以下格式的时刻日期。
start: '2021-09-30T06:30:00-04:00'
expected output: '2021-09-29T06:30:00-04:00'
现在我想保留当前时间,但将日期替换为 29 日或 28 日,或者更改月份。我该怎么做,我可以使用本机 JS 日期或时刻库,但关键是字符串的其余部分必须相同,它绝对应该保持时区偏移量。
您可以使用
moment().set(String, Int);
moment().set(Object(String, Int));
https://momentjs.com/docs/#/get-set/set/
var dateStr = '2021-09-30T06:30:00-04:00';
var oldDate = moment(dateStr);
// Parse timezone offset
var utcOffset = moment.parseZone(dateStr).utcOffset();
var changedDate = oldDate.set("date", 29);
console.log(changedDate.utcOffset(utcOffset).format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>