发布时间:2023-04-22 文章分类:WEB开发, 电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

1.安装

npm install moment
2.引入

import moment from "moment";
3.常用的

获取指定日期的时间戳:
moment('2020-07').startOf('day').format('x')
当前月:
moment().format('MM')
 
当前季度:
moment().quarter()
 
当前年:
moment().format("YYYY") 
moment().year(); // Number
 
上一年/下一年:
 1. 上一年 : moment().add(-1,'Q').format("YYYY")
 2. 下一年 : moment().add(1,'Q').format("YYYY")
 3.  上几年和下几年同理,做moment日期加减,月季度亦同理
 
上一季度/下一季度:
 1. 上一季度:moment().add(-1, 'Q').quarter()
 2. 下一季度:moment().add(1, 'Q').quarter()
 
上个月/下个月
 1. 上个月:momnet().add(-1,'M').format("MM")
 2. 下个月:moment().add(1,'M').format("MM")
 
年开始结束时间:
 1. moment().startOf('year')
 2. moment().endOf('year')
 
季度开始结束时间:
 
 1. 当前季度的开始结束时间:
  moment().startOf('quarter').format("YYYY-MM-DD")
  moment().endOf('quarter').format("YYYY-MM-DD")
 
 2. 指定年指定季度的开始结束时间:(某年某季度的开始结束时间)
 
  moment(moment().format("YYYY-02-        01")).startOf('quarter').format("YYYY-MM-DD")
  moment(moment().format("YYYY-02-01")).endOf('quarter').format("YYYY-MM-DD")
 
#当天0点的时间格式 :
  moment().startOf('day').format('YYYY-MM-DD HH:mm:ss') 
 
#当天0点的时间缀,以10位Unix时间戳输出(秒):
  moment().startOf('day').format('X') 
 
#当天23点59分59秒的时间格式:
  moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')  
 
#当天23点59分59秒以13位Unix时间戳输出(毫秒):
  moment().endOf('day').format('x')  
 
#2020-06-30当天0点的以13位Unix时间戳输出(毫秒):
  moment('2020-06-30').startOf('day').format('x')  
 
#2020-06-30当天24点的以13位Unix时间戳输出(毫秒):
  moment('2020-06-30').endOf('day').format('x') 
# 获取今天0时0分0秒
moment().startOf('day')
 
# 获取本周第一天(周日)0时0分0秒
moment().startOf('week')
 
# 获取本周周一0时0分0秒
moment().startOf('isoWeek')
 
# 获取当前月第一天0时0分0秒
moment().startOf('month')
 
# 获取指定日期的0时0分0秒
moment('2019-10-20').startOf('day')
 
# 获取今天23时59分59秒
moment().endOf('day')
 
# 获取本周最后一天(周六)23时59分59秒
moment().endOf('week')
 
# 获取本周周日23时59分59秒
moment().endOf('isoWeek')
 
# 获取当前月最后一天23时59分59秒
moment().endOf('month')
 
# 获取当月第一天是星期几(用于设置星期几,其中星期日为 0、星期六为 6)
moment().startOf('month').day()
 
获取前n天 / 后n天
moment().add(7, 'days');
moment().subtract(7, 'days')
 
比较两个时间的大小
 
# 第二个参数用于确定精度,且不仅仅是要检查的单个值,因此使用 day 将会检查年份、月份、日期。
 
moment('2010-10-31').isBefore('2010-12-31', 'day');
# true
 
moment('2010-10-20').isBefore('2010-12-31', 'year');
# false
 
moment('2010-10-20').isAfter('2009-12-31', 'year'); 
# true
 
moment('2010-10-20').isSame('2009-12-31', 'year'); 
# 判断两个时间是否相等
 
# 需要注意的是, isBefore与isAfter 都是开区间,如果想使用闭区间,应使用
isSameOrBefore
 
两个时间的相差几天
moment([2008, 2, 27]).diff([2007, 0, 28], 'day');
# 424
 
是否是闰年
 
moment().isLeapYear();
# true
 
moment([2001]).isLeapYear() 
# false
 
获取 月份和星期 枚举列表
 
moment.months()
 
# ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
 
moment.monthsShort()
# ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
 
moment.weekdays()
# ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
 
moment.weekdaysMin()
# ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
 
格式化
moment().format();
# 2020-03-14T19:14:05+08:00
 
moment().format('YYYY-MM-DD HH:mm:ss');
# 2020-03-14 19:23:29
 
//获取当前时间
var now = moment().toDate();//Mon Jul 06 2020 13:50:51 GMT+0800 (中国标准时间)
console.log(now)
 
//格式化当前时间
now = moment().format('YYYY-MM-DD');//2020-07-06
console.log(now);
 
//获取这个月初时间
let startMonth = moment().startOf('month').toDate();
console.log(startMonth);
 
//获取今天开始的时间,
let dayOfStart = moment().startOf('day').toDate();
console.log(dayOfStart);
 
//获取今天结束的时间
let dayOfEnd = moment().endOf('day').toDate();
console.log(dayOfEnd);
 
 
//获取+n小时
let lateHour = moment().add(2,'hour').toDate();
console.log(lateHour);
 
//获取+n小时
console.log('//获取-n小时')
let beforeHour = moment().subtract(2,'hour').toDate();
console.log(beforeHour);
 
 
//获取+n天
let lateDay = moment().add(+5,'day').toDate();
console.log(lateDay);
 
//获取-n天
let beforeDay = moment().add(-5,'day').toDate();
console.log(beforeDay);
//也可以表示为
beforeDay = moment().subtract(5,'day').toDate();
console.log(beforeDay);
 
console.log('//获取+n月')
let lateMonth = moment().add(2,'month').toDate();
console.log(lateHour);
 
//获取+n月
let beforeMonth = moment().subtract(2,'month').toDate();
console.log(lateHour);
 
 
 
//获取星期
let week = moment().format('dddd');
console.log(week);
 
//获取到现在的年限 如果不满一年显示出具体几个月
let years = moment('2020-12-31').fromNow();
前三个月(自然月):
 
moment().month(moment().month() - 3).startOf('month')
 
moment().month(moment().month() - 1).endOf('month')
 
上月:
 
moment().month(moment().month() - 1).startOf('month')
 
moment().month(moment().month() - 1).endOf('month')
 
本月:
 
[moment().startOf('month'), moment().endOf('month')]
 
7天:
 
[moment().subtract(7,'day'), moment()]
 
获取月份天数:
 
moment().daysInMonth()
 
判断日期大小
 
moment('2010-10-20').isAfter('2010-10-19'); // true
 
 
 

关于封装

在tool.js文件中引入
import moment from "moment"

封装项目中常用的日期转换格式的函数

//--------------------------封装一些常用的函数-----------------------
import moment from "moment";
 
// 短时间
export const shortTime = function (value, formater = "YYYY-MM-DD") {
  return moment(value).format(formater);
};
 
// 长时间
export const time = function (value, formater = "YYYY-MM-DD HH:mm:ss") {
  return moment(value).format(formater);
};
 
// 长时间
export const time1 = function (value, formater = "YYYY/MM/DD HH:mm:ss") {
  return moment(value).format(formater);
};
 
export const leaveTime = function (value) {
  return moment(value).format("YYYY-MM-DD HH:mm");
};
 
// 短时间
export const monthTime = function (value) {
  return moment(value).format("YYYY-MM");
};
 
// 短时间1
export const monthTime1 = function (value) {
  return moment(value).format("YYYY/MM");
};
 
// 短时间2
export const monthTime2 = function (value) {
  return moment(value).format("YYYY-MM-DD");
};
 
// 每月第一天
export const monthOne = function (value) {
  return moment(value).format("YYYY-MM-01");
};
// 每月第一天精确
export const monthOnes = function (value) {
  return moment(value).format("YYYY-MM-01 00:00:00");
};
// 补全00:00:00
export const addZero = function (value) {
  return moment(value).format("YYYY-MM-DD 00:00:00");
};
// 月数
export const MonTime = function (value) {
  return moment(value).format("MM");
};
// 天数
export const dayTime = function (value) {
  return moment(value).format("DD");
};
// 时分秒
export const secondsTime = function (value) {
  return moment(value).format("HH:mm:ss");
};
 
export const secondShortTime = function (value) {
  return moment(value).format("HH:mm");
};

使用:

import { shortTime, time } from "@/utils/tool";
let date =  new Date()          
    console.log(date)
    console.log(shortTime(date))      //短时间
    console.log(time(date))           //长时间