前端开发中日期的处理( moment库介绍)

前言
在日常开发中,我们常常会遇到以下几种场景:

需要对日期进行非标准格式展示,如 :2021年5月11日星期二下午6点42分
需要对日期进行处理,如:要取前24小时的时间 等
在这时候用js原生的new Date()处理就有些麻烦了,因此我们找到了moment这个类库

一.moment 是一个 JavaScript 日期处理类库。
1.安装 moment
如果之前安装过就不用再安装了。

npm install moment -- save

注:以下所有时间相对于现在时间:2021/05/11/18:42 星期二
2.引入

// require 方式
var moment = require(‘moment‘);

// import 方式
import moment from ‘moment‘; 

eg:浏览器方式引入

<script src="moment.js"></script>

设定moment区域为中国

// require 方式
require(‘moment/locale/zh-cn‘)
moment.locale(‘zh-cn‘); 

// import 方式
import ‘moment/locale/zh-cn‘
moment.locale(‘zh-cn‘);   

3、使用
格式化时间:
格式化年月日: ‘xxxx年xx月xx日’:

moment().format('YYYY年MM月DD日')

格式化年月日: ‘xxxx-xx-xx’

moment().format('YYYY-MM-DD')

格式化时分秒(24小时制): ‘xx时xx分xx秒’

moment().format('HH时mm分ss秒')

格式化时分秒(12小时制):‘xx:xx:xx am/pm’

moment().format('hh:mm:ss a')

比较时间:
获取两个日期之间的时间差

let start_date = moment().subtract(1, 'weeks')
let end_date = moment()
 
end_date.diff(start_date) // 返回毫秒数
 
end_date.diff(start_date, 'months') // 0
end_date.diff(start_date, 'weeks') // 1
end_date.diff(start_date, 'days') // 7
start_date.diff(end_date, 'days') // -7

(1)获取当前时间

moment()

2)获取今天0时0分0秒

moment().startOf(‘day‘)

(3)获取本周第一天(周日)0时0分0秒

moment().startOf(‘week‘)

(4)获取本周周一0时0分0秒

moment().startOf(‘isoWeek‘)

(5)获取当前月第一天0时0分0秒

moment().startOf(‘month‘)

(6)获取今天23时59分59秒

moment().endOf(‘week‘)

(7)获取本周最后一天(周六)23时59分59秒

moment().endOf(‘week‘)

(8)获取本周周日23时59分59秒

moment().endOf(‘isoWeek‘)

(9)获取当前月最后一天23时59分59秒

moment().endOf(‘month‘)

(10)获取当前月的总天数

moment().daysInMonth()

(11)获取时间戳(以秒为单位

moment().format(‘X‘) // 返回值为字符串类型
moment().unix() // 返回值为数值型

(12)获取时间戳(以毫秒为单位)

moment().format(‘x‘) // 返回值为字符串类型
moment().valueOf() // 返回值为数值型

(13)获取年份

moment().month()  // (0~11, 0: January, 11: December)
moment().get(‘month‘)

(14)获取月份

moment().month()  // (0~11, 0: January, 11: December)
moment().get(‘month‘)

(15)获取一个月中的某一天

moment().date()
moment().get(‘date‘)

(16)获取一个星期中的某一天

moment().day() // (0~6, 0: Sunday, 6: Saturday)
moment().weekday() // (0~6, 0: Sunday, 6: Saturday)
moment().isoWeekday() // (1~7, 1: Monday, 7: Sunday)
moment().get(‘day‘)
mment().get(‘weekday‘)
moment().get(‘isoWeekday‘)

(17)获取小时``

moment().hours()
moment().get(‘hours‘)

(18)获取分钟

moment().minutes()
moment().get(‘minutes‘)

(19)获取秒数

moment().seconds()
moment().get(‘seconds‘)

(20)获取当前的年月日时分秒

moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
moment().toObject() // {years: xxxx, months: x, date: xx ...}

感谢阅读,有帮助的话点点赞点点关注谢谢哈。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值