momentjs获取上周、上月、前三个月的起始和结束时间(附完整代码)
作者:化尘埃
moment.js的使用
1、要获取当前的日期和时间,只需调用不带参数的 moment() 即可。
var now = moment();
这基本上与调用 moment(new Date()) 相同。
2、可以通过传入字符串来创建时间
var day = moment("1995-12-25");
不同浏览器对字符串的解析格式会不一样,所以更换其他的浏览器可能会格式不一样。
如果知道输入字符串的格式,则可以使用它来解析 moment。
moment("12-25-1995", "MM-DD-YYYY");
年份、月份、日期的令牌
令牌区分大小写。
输入 | 实例 | 描述 |
---|---|---|
YYYY | 2014 | 4 或 2 位数字的年份 |
YY | 14 | 2 位数字的年份 |
YY | 14 | 2 位数字的年份 |
Y | -25 | 带有任意数字和符号的年份 |
Q | 1…4 | 年份的季度。将月份设置为季度的第一个月 |
M | MM | 1…12 月份数字 |
MMM MMMM | Jan…December | 语言环境中的月份名称,由 |
D DD | 1…31 | 月的某天 |
Do | 1st…31st | 月的某天,带序数 |
DDD DDDD | 1…365 | 年的某天 |
X | 1410715640.579 | Unix 时间戳 |
x | 1410715640579 | Unix 毫秒时间戳 |
3、day()
moment().day(Number|String); moment().day(); // 数字 moment().days(Number|String); moment().days(); // 数字
获取或设置星期几。
此方法可用于设置星期几,其中星期日为 0、星期六为 6。
如果给定的值是 0 到 6,则结果的日期将会在当前(星期日至星期六)的星期。
如果超出范围,则它将会冒泡到其他星期。
moment().day(-7); // 上个星期日 (0 - 7) moment().day(0); // 这个星期日 (0) moment().day(7); // 下个星期日 (0 + 7) moment().day(10); // 下个星期三 (3 + 7) moment().day(24); // 从现在起第 3 个星期三 (3 + 7 + 7 + 7)
moment().day()是获取今天的时间
4、week()
moment().week(Number); moment().week(); // 数字 moment().weeks(Number); moment().weeks(); // 数字
moment().week();其实就是获取当前周是今年的第几周。moment().week(Number)带参数的就是获取今年的第几周。
获取或设置年份的星期。
由于不同的语言环境对年份中的星期的编号的定义不同,因此 Moment.js 添加了 moment#week 以获取/设置年份的本地化星期。
年份的星期取决于哪一天是星期的第一天(星期日、星期一等),以及哪一周是年份的第一周。
例如,在美国,星期日是星期的第一天。 1 月 1 日所在的星期是年份的第一周。
在法国,星期一是星期的第一天,且 1 月 4 日是年份的第一周。
5、month()
moment().month(Number|String); moment().month(); // 数字 moment().months(Number|String); moment().months(); // 数字
moment().month()是获取当前是今年的几月moment().month(参数)是获取当前参数是今年的几月
Number是月份String是支持月份名称,比如
moment().month("January");
获取上i周的周一到周日:
const startDate = moment().week(moment().week() - i).startOf('week').add(1,'days').valueOf(); const endDate = moment().week(moment().week() - i).endOf('week').add(1,'days').valueOf();
获取上月的第一天和最后一天:
const startDate = moment().month(moment().month() - 1).startOf('month').valueOf(); const endDate = moment().month(moment().month() - 1).endOf('month').valueOf();
获取前3个月的第一天和最后一天:
const startDate = moment().month(moment().month() - 3).startOf('month').valueOf(); const endDate = moment().month(moment().month() - 1).endOf('month').valueOf();
获取前i个月的第一天和最后一天:
const startDate = moment().month(moment().month() - i).startOf('month').valueOf(); const endDate = moment().month(moment().month() - 1).endOf('month').valueOf();
总结
到此这篇关于momentjs获取上周、上月、前三个月的起始和结束时间的文章就介绍到这了,更多相关momentjs获取起始和结束时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!