资讯专栏INFORMATION COLUMN

时间处理工具 moment.js:管理时间和日期,so easy!

lei___ / 1187人阅读

摘要:大家在项目中一定会遇到很多关于时间处理的问题,比如你想获取一个本地时间格式为,常用的方法是先拿到时间再用正则替换什么的。

大家在项目中一定会遇到很多关于时间处理的问题,比如你想获取一个本地时间格式为YYYY-MM-DD,常用的方法是先拿到时间再用正则替换什么的。比较麻烦,也比较费劲。每次都要弄。所以呢就想着有没有什么简单的方法,之后就发现了一个轻量级的Javascript日期处理类库:moment.js,使用它可以轻松解决前端开发中遇到的种种日期时间问题。

moment.js不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以像PHP的date()函数一样,格式化日期时间,计算相对时间,获取特定时间后的日期时间等等,本文有如下举例。

格式化日期
javascriptmoment().format("YYYY-MM-DD HH:mm:ss");     //2014-09-24 23:36:09获取当前时间
moment().format("MMMM Do YYYY, h:mm:ss a"); // 七月 13日 2015, 10:53:40 上午
moment().format("ffffdd");                    // 星期一
moment().format("MMM Do YY");               // 7月 13日 15
moment().format("YYYY [escaped] YYYY");     // 2015 escaped 2015
moment().format();                          // 2015-07-13T10:53:40+08:00
相对时间
javascriptmoment("20111031", "YYYYMMDD").fromNow(); // 2011年10月31日距离现在的时间
moment().startOf("day").fromNow();        // 今天过了多久
moment().endOf("day").fromNow();          // 还有几个小时今天就结束了
moment().startOf("hour").fromNow();       //这个小时过去了几分钟
moment().add("days",3).format("YYYY-MM-DD"); //三天后的日期
多样化的本地时间
javascriptmoment().format("L");    // 2015-07-13   标准本地时间
moment().format("l");    // 2015-07-13
moment().format("LL");   // 2015年7月13日
moment().format("ll");   // 2015年7月13日
moment().format("LLL");  // 2015年7月13日上午10点55
moment().format("lll");  // 2015年7月13日上午10点55
moment().format("LLLL"); // 2015年7月13日星期一上午10点55
moment().format("llll"); //2015年7月13日星期一上午10点55

moment.js提供了丰富的说明文档。我们日常开发中最常用的是格式化时间,下面列举一下所有的时间格式

格式代码 说明 例子
YYYY 4位数字年份 2010、2012
YY 两位数字年份 15
M 月份的数字值没有前导0 1、2...10
MM 月份的数字值有前导0 01、02...12
MMM 三个字母缩写的月份 Jan到Dec
MMM 月份的英文全拼 January到December
Q 返回现在是第几个季度 1、2、3、4
D 当前是几号,没有前导0 1、2...31
DDD 一年中的第几天 1、2...365
DD 当前是几号,有前导0 01、02...31
d 周几 0、1...6,0表示周日,6表示周六
ffffd 三个字母的周几缩写 Sun到Sat
ffffdd 周几全拼 Sunday到Saturday
w 一年中的的几周 eg:10代表第10周
A 上午或下午大写 AM、PM
a 小午或下午大写 am、pm
HH 小时,24小时制,有前导零 00、01...23
H 小时,24小时制,无前导零 0、1...23
hh 小时,12小时制,有前导零 00、01...12
hh 小时,12小时制,无前导零 0、1...12
mm 分钟,有前导0 00、01...59
m 分钟,无前导0 0、1...59
ss 秒,有前导0 00、01..59
s 秒,无前导0 0、1..59
X Unix时间戳(秒级) 1410715640.579
x Unix时间戳(毫秒级) 1410715640579

更多有关moment.js的介绍,请访问项目官网:http://momentjs.com/

第一次写博文,如有错误,欢迎纠正。(*^__^*)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85825.html

相关文章

  • Flask Web Development —— 模板(下)

    摘要:如果路由重组,模板中的链接将被打断而变得无法访问。静态文件应用程序不仅仅是由代码和模板组成。当服务器收到来自之前示例的,它会产生一个响应包含的文件内容。一个优雅的解决方案是允许服务器只发送时间给浏览器,由浏览器转为当地时间并渲染。 4、链接 任何应用程序都有多个路由,必然需要包含链接来连接不同的页面,例如导航栏。 在模板中,对于简单的路由直接写URLs做链接是非常琐碎麻烦的,而给带...

    raoyi 评论0 收藏0
  • 推荐轻量高效无依赖的开源JS插件

    摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...

    AlphaWallet 评论0 收藏0
  • 推荐轻量高效无依赖的开源JS插件

    摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...

    lushan 评论0 收藏0
  • 推荐轻量高效无依赖的开源JS插件

    摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...

    shuibo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<