使用Moment.js查找当前周的特定日期

Using Moment.js to find a specific day of the current week's date

本文关键字:日期 Moment js 查找 使用      更新时间:2023-09-26

使用Moment.js查找当前一周中的特定日期


在javascript中有很多操作日期的方法。我一直在寻找最简单,最简单的方法来做到这一点,而不需要冗长,丑陋的代码,所以有人向我展示了Moment.js。

我想使用当前日期来发现当前周中特定一天的日期。到目前为止,我的尝试包括取当前天数(0-6天)之间的差值,并检查它与星期一(第1天)之间有多少天,这根本不对。

这是我的小提琴。

下面是我的代码:

var now = moment();
var day = now.day();
var week = [['sunday',0],['monday',1],['tuesday',2],['wednesday',3],['thursday',4],['friday',5],['saturday',6]];
var monday = moment().day(-(week[1][1] - day));//today minus the difference between monday and today
$("#console").text(monday);
//I need to know the date of the current week's monday
//I need to know the date of the current week's friday

我该怎么做?我的方法可能是一种糟糕的方法来完成这个任务,或者它可能有点接近。但是,我确实希望解决方案像所有代码一样整洁、小巧、动态和简单。

我不喜欢使用原生JS日期功能,因为它会在我见过的任何情况下产生丑陋、混乱的代码。

本周星期日

moment().startOf('week')

本周星期一

moment().startOf('isoweek')

本周星期六

moment().endOf('week')

当日与星期日之差

moment().diff(moment().startOf('week'),'days')

本周星期三

moment().startOf('week').add('days', 3)

可能有点晚了,但这是正确的方法,如文档所示。

moment().day(1); // Monday in the current week

另外,如果在您的区域设置中,一周从星期一开始,并且您希望获得本地感知的结果,则可以使用moment().weekday(0)。下面是moment().weekday(dayNumber)方法的文档

不再可能只使用字符串(例如:'isoweek'),我们需要这样使用:

import * as moment from 'moment';
import { unitOfTime } from 'moment';
moment().startOf('isoweek' as unitOfTime.StartOf);