前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >moment.js的方法总结

moment.js的方法总结

作者头像
leon公众号精选
发布2022-04-27 14:54:51
4K0
发布2022-04-27 14:54:51
举报
文章被收录于专栏:架构师高级俱乐部

总结一个非常实用的日期工具类moment.js,日期获取,格式化等。

引入moment

//require 方式varmoment=require('moment');

//import 方式importmomentfrom'moment';

设定moment区域为中国

代码语言:javascript
复制
//require 方式

格式化时间类型

1.取当天时间,以YYYY年MM月DD日形式显示

代码语言:javascript
复制
varnow=moment().format("YYYY年MM月DD日");

2.任意时间戳格式化,以YYYY-MM-DD HH:mm:ss形式显示

代码语言:javascript
复制
vart1=moment(1411641720000).format('YYYY-MM-DD HH:mm:ss');

获取前一天日期,格式以YYYY-MM-DD形式显示

代码语言:javascript
复制
vart11=moment().day(0).format('YYYY-MM-DD');

获取本周五日期,格式以YYYY-MM-DD形式显示

代码语言:javascript
复制
vart12=moment().weekday(5).format('YYYY-MM-DD');

获取上周五日期,格式以YYYY-MM-DD形式显示

代码语言:javascript
复制
vart13=moment().weekday(-3).format('YYYY-MM-DD');

可以简单理解为上周倒数第几天,上周倒数第三天就是上周五了,和当天日期无关

获取当前年份、月份、日期

vart14=moment().year()

vart15=moment().month()//此处月份从0开始,当前月要+1

vart16=moment().date();

注意这个地方,日期不是.day()/days()

结合t14,t15,t16就可以输出你想要的任何和当前日期、月份相关的日期 例如:我想获取去年今天的完整日期,如:今天是2019-7-31,我要输出的是2018-7-31

代码语言:javascript
复制
console.log(`${t14-1}-${t15+1}-${t16}`)

当然这不是获取去年今天日期最好的办法,但你可以拼出很多你想要的组合,下面会介绍更好的获取去年今日的方法。

获取上个月今天的日期,格式以YYYY-MM-DD显示

代码语言:javascript
复制
vart18=moment().subtract(1,'months').format('YYYY-MM-DD');

获取上个月日期,格式以YYYY-MM显示

代码语言:javascript
复制
vart19=moment().subtract(1,'months').format('YYYY-MM')

获取前一天日期,格式以YYYY-MM-DD显示

代码语言:javascript
复制
vart20 = moment().subtract(1,'days').format('YYYY-MM-DD');

获取去年今天的日期,格式以YYYY-MM-DD显示,即简便的获取去年今天日期的方法

代码语言:javascript
复制
vart21= moment().subtract(1,'year').format('YYYY-MM-DD');

获取两个小时之后的时间

代码语言:javascript
复制
vart22=moment().add(2,'hours').format('YYYY-MM-DD HH:mm:ss');

这个的应用是获取时间戳过期时间 比较也很简单,只要获取当前时间,一样的format用><=号比较就可以了

获取五天前的日期

例如:今天2018-7-23,获取到的时间是2018-7-18

代码语言:javascript
复制
var t23=moment().subtract(5,'days').format('YYYY-MM-DD');

UTC时间转换为浏览器所在时区时间

例如UTC时间是:"2019-07-31T11:50:16Z",浏览器在UTC+08,所以转换后的时间为:"2019-07-31 07:50:16"

代码语言:javascript
复制
moment('2019-07-31T11:50:16Z').local().format('YYYY-MM-DD hh:mm:ss')

小提示:从服务器拿到的时间尽量是UTC标准时间,有利于做全球化,如果服务器记录的Local时间,不可避免服务器要维护时间与时区的对应关系增加了出错的概率。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师高级俱乐部 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引入moment
  • 设定moment区域为中国
  • 格式化时间类型
  • 获取前一天日期,格式以YYYY-MM-DD形式显示
  • 获取本周五日期,格式以YYYY-MM-DD形式显示
  • 获取上周五日期,格式以YYYY-MM-DD形式显示
  • 获取当前年份、月份、日期
  • 获取上个月今天的日期,格式以YYYY-MM-DD显示
  • 获取上个月日期,格式以YYYY-MM显示
  • 获取前一天日期,格式以YYYY-MM-DD显示
  • 获取去年今天的日期,格式以YYYY-MM-DD显示,即简便的获取去年今天日期的方法
  • 获取两个小时之后的时间
  • 获取五天前的日期
  • UTC时间转换为浏览器所在时区时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档