monment.js解决你的时间问题

Moment.js是一个轻量级的JavaScript库,用于处理日期和时间,支持浏览器和Node.js环境。它提供了日期格式化、解析和计算功能,包括初始化、格式化、获取星期、毫秒数、时间差等操作,并支持多语言。通过`moment()`方法可以方便地进行日期处理,结合`.format()`和`.diff()`等方法,可以实现灵活的时间操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

monment.js

(官网)
在这里插入图片描述
Moment.js 是一个简单易用的轻量级 JavaScript 日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和 NodeJS 两种环境中运行。此类库能够将给定的任意日期转换成多种不同的格式,具有强大的日期计算功能,同时也内置了能显示多样的日期形式的函数。另外,它也支持多种语言,你可以任意新增一种新的语言包。

moment.js 引入

//下载moment.js文件,引入到script src中
<script src="moment.js"></script>
//使用moment格式
<script>
    moment().format();
</script>

moment()介绍

moment()是moment.js 主要核心的方法,任何关于moment.js 操作离不开moment();

var now = moment();//获取当前时间;
moment(new Date()) //相同。

moment.js 的常用方法

  1. 初始化日期 / 时间
//初始化日期:
moment().format('YYYY-MM-DD');

//初始化日期时间:
moment().format('YYYY-MM-DD HH:mm:ss');

  1. 格式化日期 / 时间
//格式化日期:
moment(value).format('YYYY-MM-DD');

//格式化日期时间:
moment(value).format('YYYY-MM-DD HH:mm:ss');
  1. 获取星期几
//获取星期几:
this.moment().day()  
//或
this.moment(startDate).day()//==>> 当前日期/指定日期 是星期几
  1. 获取毫秒数
//获取毫秒数:
this.moment().day() 
//或  
this.moment(startDate).valueOf()// ==>> 在获取指定时间的毫秒数时,必须要有日期。即startDate包括日期时间
  1. 获取时间差(以毫秒计算)
//两个日期/时间的时差:
this.moment(endTime).diff(this.moment(startTime),'days' )//==>>  开始时间和结束时间的时间差,以“天”为单位;endTime和startTime都是毫秒数

this.moment(endTime).diff(this.moment(startTime), 'minutes')// ==>>  开始时间和结束时间的时间差,以“分钟”为单位

// ==>> 注意:计算时间差时,可以以 “years”、“days”、“hours”、“minutes” 以及 "seconds" 为单位输出!
  1. 获取时、分、秒
    原理:利用字符串的 split 方法拆分时分秒,然后分别用moment的 hour、minute 和 second 方法;带有日期的可以用 .valueof() 方法。
const fixStart = '08:00:00'
 
const getHour = this.moment().hour(Number(fixStart.split(':')[0]));
const getMinute = this.moment().minute(Number(fixStart.split(':')[1]));
const getSecond = this.moment().second(Number(fixStart.split(':')[2]));
            
// 描述为0,直接写出second(0)
const getHour_Minute_Second = this.moment().hour(Number(fixStart.split(':')[0])).minute(Number(fixStart.split(':')[1])).second(0);       
 
console.log('=====输出',getHour,getMinute,getSecond,getHour_Minute_Second);

得到的结果都是moment.js 自身的时间格式。可以用 format 转换为自己想要的格式,也可以用 diff 方法做时间差的计算

在这里插入图片描述7. 将毫秒数转为时分秒
注意:毫秒转为其他单位时,达到你想要转的单位时,为1,超过时不管,不足时为0;
如4800000(80分钟),转为天:0
转为小时:1
转为分钟:20
转为秒:0

const msTime = 4800000;        //80分钟
 
moment.duration(msTime).hours();       //转为小时,值为1
moment.duration(msTime).minutes();     //转为分钟,值为20
moment.duration(msTime).seconds();     //转为秒,值为0
moment.duration(msTime, 'seconds');        //转为秒
moment.duration(msTime, 'minutes');        //转为分
moment.duration(msTime, 'hours');          //转为小时
moment.duration(msTime, 'days');           //转为天
moment.duration(msTime, 'weeks');          //转为周
moment.duration(msTime, 'months');         //转为月
moment.duration(msTime, 'years');          //转为年
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值