使用Moment.js查找当前周的特定日期
Using Moment.js to find a specific day of the current week's date
使用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);
相关文章:
- 如何在moment.js中只比较日期
- 如何用moment.js列出两个日期之间的所有月份
- 如何获得一个只有时间的moment.js日期对象
- 使用moment.js获取时间分区的偏移日期对象
- moment.js在两个时区格式的日期之间存在差异
- 使用moment.js获取月份和年份中的所有日期
- 使用moment.js分析日语日期字符串
- 如何使用moment.js获取24小时内日期之间的时差
- 使用 moment.toDate() 时,在 Express 4.13.4 中忽略了 Cookie 到期日期
- 如何使用moment.js获取日期和时间
- 使用angular-moment.js设置日期格式
- Moment JS中的动态日期
- Moment会在设置日期时自动更正无效日期
- Moment.js-两个日期的天数不同
- 如何在Moment.js中从日期开始获取一个月中的星期
- Moment.js不断返回UTC而不是本地日期
- 使用moment.js检查日期格式
- moment:使用用户语言格式化日期时出错
- Moment.js:根据浏览器语言设置日期格式
- 用本地语言格式化日期(moment.js)