A little late to the party but here is the simplest way I've found to express starts/ends of weeks. The isoWeek
argument starts weeks on Monday according to the ISO 8601, while week
starts weeks depending on your locale (so probably either Sunday or Monday).
This week:
moment().startOf('isoWeek')
moment().endOf('isoWeek')
Next week:
moment().add(1, 'weeks').startOf('isoWeek')
moment().add(1, 'weeks').endOf('isoWeek')
Last week:
moment().subtract(1, 'weeks').startOf('isoWeek')
moment().subtract(1, 'weeks').endOf('isoWeek')
I like these constructions because they are incredibly readable. It's also easy to go back or forward any number of weeks by specifying how many weeks you want in subtract
or add
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…