摘要:大家在项目中一定会遇到很多关于时间处理的问题,比如你想获取一个本地时间格式为,常用的方法是先拿到时间再用正则替换什么的。
大家在项目中一定会遇到很多关于时间处理的问题,比如你想获取一个本地时间格式为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
摘要:如果路由重组,模板中的链接将被打断而变得无法访问。静态文件应用程序不仅仅是由代码和模板组成。当服务器收到来自之前示例的,它会产生一个响应包含的文件内容。一个优雅的解决方案是允许服务器只发送时间给浏览器,由浏览器转为当地时间并渲染。 4、链接 任何应用程序都有多个路由,必然需要包含链接来连接不同的页面,例如导航栏。 在模板中,对于简单的路由直接写URLs做链接是非常琐碎麻烦的,而给带...
摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...
摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...
摘要:弹出层是一个轻量级的库用于管理工具提示和弹窗效果。一个带有的跨浏览器富文本编辑器。由制作,适用于每天写作的富文本编辑器。轻量的操作库。是一个快速简单轻量级的浏览器功能检测库。它没有任何的依赖,并且压缩后仅有。极小跨平台的全屏插件。 在这里维持一个持续更新的地方 图片 baguetteBox.js - 是一个简单易用的响应式图像灯箱效果脚本。demo Lightgallery.js -...
阅读 4326·2021-11-11 16:55
阅读 1850·2021-10-08 10:04
阅读 3794·2021-09-27 13:36
阅读 3038·2019-08-30 15:53
阅读 2042·2019-08-30 11:17
阅读 1428·2019-08-29 16:55
阅读 2267·2019-08-29 13:57
阅读 2665·2019-08-29 13:13