momentjs获取上周、上月、前三个月的起始和结束时间--直接copy结尾代码
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();