gpt4 book ai didi

javascript - MomentJS 解析大数据字符串

转载 作者:行者123 更新时间:2023-12-01 01:24:20 27 4
gpt4 key购买 nike

所以,我有这样的数据开始时间:2018 年 12 月 28 日星期五 01:15:00 GMT+0200(东欧标准时间)和这个结束时间:2018 年 12 月 31 日星期一 02:15:00 GMT+0200(东欧标准时间)数据始终采用这种格式。我需要解析它,这样我就可以在 startTime 和 endTime 之间的每一天(在本例中为 1:15 - 2:15)中拥有一个对象数组,其中包含 startTime 和 endTime 之间的所有天数有什么想法吗?我得到的答案是

function toDays(startDateString, endDateString) {

const startDate = moment(startDateString, 'dddd MMM DD YYYY');
const endDate = moment(endDateString, 'dddd MMM DD YYYY');

const dates = [];

while(startDate.isSameOrBefore(endDate, 'day')) {
let currentDay = startDate.format('dddd');
dates[currentDay] = [];
dates[currentDay].push({start:'9:00', end:'18:00'});
startDate.add(1, 'days');
}

return dates;
}

const result = toDays('Mon Dec 24 2018', 'Fri Dec 28 2018');
console.log(result);

但我无法真正使用它,我不太确定如何解决这个问题,因为我以前从未使用过它。

最佳答案

如果我正确理解了这个问题,您可能无法弄清楚如何解析格式startTime: Fri Dec 28 2018 01:15:00 GMT+0200(东欧标准时间) ?如果确实如此,那么我认为以下代码可能会有所帮助:

<script src='https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.js'></script>
<script>
function toDays(startDateString, endDateString) {
const formatString = 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ [(Eastern European Standard Time)]';
const startDate = moment(startDateString, formatString).utcOffset("+02:00");
const endDate = moment(endDateString, formatString).utcOffset("+02:00");
const start = startDate.format('H:mm');
const end = endDate.format('H:mm');

const dates = [];

while(startDate.isSameOrBefore(endDate, 'day')) {
let currentDay = startDate.format('dddd');
dates.push({day: currentDay, start: start, end: end});
startDate.add(1, 'days');
}

return dates;
}

const result = toDays('Fri Dec 28 2018 01:15:00 GMT+0200 (Eastern European Standard Time)', 'Mon Dec 31 2018 02:15:00 GMT+0200 (Eastern European Standard Time)');
console.log(result);
</script>

要点是行 const formatString = 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ [(东欧标准时间)]'; 正确解析您提供的日期格式.

关于javascript - MomentJS 解析大数据字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53945561/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com