moment.js常用预设处理;
一、使用前操作:
1、安装:
npm install moment --save
2、引入:
文件中
import moment from "moment";
二、常用预设:
1、日期转时间戳:
- 毫秒 [ 13位 ]
- 秒 [ 10位 ]
格式:moment( 时间格式字符串).format(“X”) ;
- 不传入时间格式【String】,默认输出当前时间的时间戳;
- 传入时间格式 【String】,输出输入参数的时间戳
// 1360013296 10位,秒
moment().unix();
moment('2020-09-25').unix();
// 1360013296 10位,秒
moment().format("x")
moment('2020-09-25').format("x")
// 1360013296123 13位,毫秒;
moment().format("X")
moment('2020-09-25').format("X")
2、时间戳转日期:
- 传入时间戳【number类型】
- 毫秒级,既13位时间戳;
- 10位时间戳:需要 *1000, moment(parseInt(s) * 1000 ).format(‘YYYY MM DD’)
// 定义一个13位的时间戳s,【format('x')小写x】
var s = moment('Fri Oct 29 2021 12:41:23 GMT+0800 (中国标准时间)').format('x');
moment(parseInt(s)).format('YYYY MM DD') // 13位时间戳转换日期
// 定义一个10位的时间戳s,【format('X')大写X】;转换时,传入的number类型时间戳乘以1000;
var s = moment('Fri Oct 29 2021 12:41:23 GMT+0800 (中国标准时间)').format('X');
moment(parseInt(s)*1000).format('YYYY MM DD') // 10位时间戳转换日期
3、获取日期是星期几:
- 用途:获取输入日期为一周的哪一天;
- 格式:moment( 日期格式字符串 ).day();
moment('2021-10-29').day() // 5
// 其他例子 应用:
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)
4、获取两日期时间之差:
参数: 2个日期;
方法: 3个;
- moment(time).unix() ; 10位秒级时间戳;
- moment(time).format(’‘X’’) ;10位秒级时间戳;
- moment(time).format(’‘x’’) ;13位毫秒级时间戳;
getTimeInterval(timesamll, timebig) {
// 时间戳只差;
var timeStamp = moment(timebig).unix() - moment(timesamll).unix();
// 除以60*60取整获取小时数;
var hour = parseInt(timeStamp / 3600);
// 1. 除以60*60取余获取剩余的不足一小时的时间戳只差; 2. 再除以60获取这不足一小时的分钟数;
var min = parseInt((timeStamp % 3600) / 60);
// 输出结果 3小时20分钟;
var string = hour + "时" + min + "分";
console.info(string)
return string;
}
调用:输入两个日期;
getTimeInterval('Fri Oct 29 2021 12:41:23 GMT+0800 (中国标准时间)','Fri Oct 29 2021 12:51:12 GMT+0800 (中国标准时间)');
结果:
5、获取日期所处的月份天数:
- 用途:获取输入日期的所在月份的天数;
- 格式:moment( 日期格式字符串 ).daysInMonth();
moment('2021-09-20').daysInMonth();
附件:日期格式:
格式化:
格式:moment( 日期格式字符串 ).format(‘YYYY MM DD’);
moment().format(); // "2014-09-08T08:02:17-05:00" (ISO 8601,无小数秒钟)
moment().format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"
moment().format("ddd, hA"); // "Sun, 3PM"
moment('gibberish').format('YYYY MM DD');