如何在每周的一天中提前到达最近的日期?
我是新手,我需要在一周中的一天之前获得最近的日期。
根据当前日期,我需要获取:例如:
const currentWeekDay = '4'; (14.04)
const preparedAlternativeDates = [
{ DAY: 1, VALUE: '18.04' },
{ DAY: 2, VALUE: '19.04'},
{ DAY: 3, VALUE: '20.04'},
{ DAY: 4, VALUE: '21.04'},
{ DAY: 5, VALUE: '15.04'},
{ DAY: 6, VALUE: '16.04'},
{ DAY: 7, VALUE: '17.04'},
];
我正在尝试使用下面的脚本,但它不起作用。也许有一种更简单的方法可以做到这一点?
const ALTERNATIVE_DATES = Object.freeze([
{ DAY: 1, VALUE: null },
{ DAY: 2, VALUE: null },
{ DAY: 3, VALUE: null },
{ DAY: 4, VALUE: null },
{ DAY: 5, VALUE: null },
{ DAY: 6, VALUE: null },
{ DAY: 7, VALUE: null },
]);
const preparedAlternativeDates = ALTERNATIVE_DATES.map((alternativeDate: any) => {
if (!alternativeDate.VALUE) {
const alternativeDateDay = Number(alternativeDate.DAY);
const currentWeekDay = Number(moment().isoWeekday());
if (alternativeDateDay <= currentWeekDay) {
alternativeDate.VALUE = moment().add(alternativeDateDay + currentWeekDay - 1, 'd').startOf('day');
} else {
alternativeDate.VALUE = moment().add(alternativeDateDay - currentWeekDay, 'd').startOf('day');
}
}
return {
day: alternativeDate.DAY,
value: alternativeDate.VALUE
};
});
我将感谢任何帮助。
I'm new to moment and I need to get the nearest date ahead by the number of the day of the week.
Depending on the current date, I need to get, for example:
const currentWeekDay = '4'; (14.04)
const preparedAlternativeDates = [
{ DAY: 1, VALUE: '18.04' },
{ DAY: 2, VALUE: '19.04'},
{ DAY: 3, VALUE: '20.04'},
{ DAY: 4, VALUE: '21.04'},
{ DAY: 5, VALUE: '15.04'},
{ DAY: 6, VALUE: '16.04'},
{ DAY: 7, VALUE: '17.04'},
];
I'm trying to use the script below but it doesn't work. Maybe there is an easier way to do this?
const ALTERNATIVE_DATES = Object.freeze([
{ DAY: 1, VALUE: null },
{ DAY: 2, VALUE: null },
{ DAY: 3, VALUE: null },
{ DAY: 4, VALUE: null },
{ DAY: 5, VALUE: null },
{ DAY: 6, VALUE: null },
{ DAY: 7, VALUE: null },
]);
const preparedAlternativeDates = ALTERNATIVE_DATES.map((alternativeDate: any) => {
if (!alternativeDate.VALUE) {
const alternativeDateDay = Number(alternativeDate.DAY);
const currentWeekDay = Number(moment().isoWeekday());
if (alternativeDateDay <= currentWeekDay) {
alternativeDate.VALUE = moment().add(alternativeDateDay + currentWeekDay - 1, 'd').startOf('day');
} else {
alternativeDate.VALUE = moment().add(alternativeDateDay - currentWeekDay, 'd').startOf('day');
}
}
return {
day: alternativeDate.DAY,
value: alternativeDate.VALUE
};
});
I will be grateful for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我只是调整了您的代码并测试了结果。这应该对您有用:
I just adjusted your code and tested the result. this should work for you: