不一样的日期、时间转换(moment.js)
无意中遇到了一种很奇怪的日期格式,从接口中返回的日期是这样的,如 2018-02-06T11:59:22+08:00 。然而这却不是我们想要的,我们要的是这种,YYYY-MM-DD HH:mm:ss。
那么这种是怎么转换的呢?
这时候就可以使用一款很好用的日期、时间处理工具,moment.js。
对于moment.js,可以直接使用 CDN加速服务中的moment.js(moment.js),引入moment.js文件便可以开始使用了
(如:<script src="https://cdn.bootcss.com/moment.js/2.20.1/moment.js"></script>)。
或者使用npm安装到本地(npm install moment
),然后使用的时候像这样
var moment = require('moment'); moment().format();
举几个常见用法:
(1)、返回当前的日期时间。
1 | moment().format( 'YYYY-MM-DD HH:mm:ss' ) // 2018-02-06 10:53:00 |
(2)、返回当前星期几
1 | moment().format( 'd' ) // 2,表示星期二,其中1-6表示周一到周六,0表示周日 |
(3)、返回指定日期距离当前日期有多久
1 | moment( '20180125' , 'YYYYMMDD' ).fromNow() // 12 days ago |
(4)、返回几天后的日期
1 | moment().add( 'days' ,7).format( 'YYYY年MM月DD日' ) // 表示7天后的日期 |
然而在浏览器会有这样的提示:
1 | moment().add(7, 'days' ).format( 'YYYY年MM月DD日' ) // 可以写days,也可写day |
(5)、返回10小时后的日期
1 | moment().add(10, 'hours' ).format( 'YYYY年MM月DD日 HH:mm:ss' ) // 2018年02月06日 21:07:18。同样的可写hour,也可写hours |
(6)、返回10年后的日期
1 | moment().add(10, 'years' ).format( 'YYYY年MM月DD日 HH:mm:ss' ) // 可写year,也可写years |
现在回过头来说说2018-02-06T11:59:22+08:00这种格式的转换。
引入moment.js文件
<script src="https://cdn.bootcss.com/moment.js/2.20.1/moment.js"></script>
然后 moment('2018-02-06T11:59:22+08:00').format('YYYY-MM-DD HH:mm:ss')就over了。
常用的时间格式如下:
格式代码 | 说明 | 返回值例子 |
M | 数字表示的月份,没有前导零 | 1到12 |
MM | 数字表示的月份,有前导零 | 01到12 |
MMM | 三个字母缩写表示的月份 | Jan到Dec |
MMMM | 月份,完整的文本格式 | January到December |
Q | 季度 | 1到4 |
D | 月份中的第几天,没有前导零 | 1到31 |
DD | 月份中的第几天,有前导零 | 01到31 |
d | 星期中的第几天,数字表示 | 0到6,0表示周日,6表示周六 |
ddd | 三个字母表示星期中的第几天 | Sun到Sat |
dddd | 星期几,完整的星期文本 | 从Sunday到Saturday |
w | 年份中的第几周 | 如42:表示第42周 |
YYYY | 四位数字完整表示的年份 | 如:2014 或 2000 |
YY | 两位数字表示的年份 | 如:14 或 98 |
A | 大写的AM PM | AM PM |
a | 小写的am pm | am pm |
HH | 小时,24小时制,有前导零 | 00到23 |
H | 小时,24小时制,无前导零 | 0到23 |
hh | 小时,12小时制,有前导零 | 00到12 |
h | 小时,12小时制,无前导零 | 0到12 |
m | 没有前导零的分钟数 | 0到59 |
mm | 有前导零的分钟数 | 00到59 |
s | 没有前导零的秒数 | 1到59 |
ss | 有前导零的描述 | 01到59 |
X | Unix时间戳 | 1411572969 |
作者:江峰★
出处:http://www.cnblogs.com/jf-67/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?