使用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日期功能,这种功能会在我见过的每种情况下产生丑陋,凌乱的代码。
答案 0 :(得分:61)
本周的周日
moment().startOf('week')
本周的星期一
moment().startOf('isoweek')
本周的周六
moment().endOf('week')
当天到周日之间的差异
moment().diff(moment().startOf('week'),'days')
本周的Wedesday
moment().startOf('week').add('days', 3)
答案 1 :(得分:1)
不再仅仅使用字符串(例如' isoweek'),我们需要像这样使用它:
import * as moment from 'moment';
import { unitOfTime } from 'moment';
moment().startOf('isoweek' as unitOfTime.StartOf);
答案 2 :(得分:0)
也许聚会晚了一点,但这是正确的方法,例如documentation。
moment().day(1); // Monday in the current week
此外,如果在您的区域设置中,该周从星期一开始,并且您希望获得本地了解的结果,则可以使用moment().weekday(0)
。 Here's the documentation用于moment().weekday(dayNumber)
方法。