无意中遇到了一种很奇怪的日期格式,从接口中返回的日期是这样的,如 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)、返回当前的日期时间。  

moment().format('YYYY-MM-DD HH:mm:ss')  // 2018-02-06 10:53:00

  

  (2)、返回当前星期几

moment().format('d') // 2,表示星期二,其中1-6表示周一到周六,0表示周日

  

  (3)、返回指定日期距离当前日期有多久

moment('20180125','YYYYMMDD').fromNow() // 12 days ago

  

  (4)、返回几天后的日期

moment().add('days',7).format('YYYY年MM月DD日') // 表示7天后的日期

   然而在浏览器会有这样的提示:Deprecation warning: moment().add(period, number) is deprecated. Please use moment().add(number, period)。意思是不赞成使用这种方式,推荐使用另一种方式moment().add(number, period)。

  因此,上面那种写法应该改为:

moment().add(7,'days').format('YYYY年MM月DD日') // 可以写days,也可写day

  

  (5)、返回10小时后的日期

moment().add(10, 'hours').format('YYYY年MM月DD日 HH:mm:ss') // 2018年02月06日 21:07:18。同样的可写hour,也可写hours

  

  (6)、返回10年后的日期

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

不一样的日期、时间转换(moment.js)的更多相关文章

  1. js中常用日期时间转换

    常用日期时间处理插件:1. timeago.js处理几分钟之前    2. day.js    3. moment.js 注意: 1. 此处的标准时间格式为  2018-03-23 13:35:47 ...

  2. unix环境C编程之日期时间转换

    1.理清概念 1.1.日历时间:   含义:国际标准时间1970年1月1日00:00:00以来经过的秒数.   数据类型:time_t.实际上是long的别名. 1.2.tm结构时间:   含义:结构 ...

  3. 日期时间插件flatpickr.js使用方法

    今天写代码时需要用一款插件来实现对input输入时间的格式控制,找到了两款功能合适而且比较美观的插件:基于Bootstrap的DateTimePicker.js和flatpickr.js插件.一开始先 ...

  4. js非常强大的日历控件fullcalendar.js, 日期时间库: moment.js

    日历控件: https://fullcalendar.io/docs/ https://fullcalendar.io/docs/event_data/events_function/ https:/ ...

  5. ORACLE函数之日期时间转换函数

     1.          TO_CHAR 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X是一个日期或者数字.format是一个规定了X採用何种格式转换 ...

  6. 在java或 js中的日期时间转换问题

    1.在js中需要求的当前日期的周一和周日 var now = new Date(); // 当前日期时间对象 var date = now.getDate(); // 当前是几号:当前日期在一个月中的 ...

  7. Sql 日期时间 转换

    sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-0 ...

  8. [转]nodejs日期时间插件moment.js

    本文转自:https://blog.csdn.net/dreamer2020/article/details/52278478 问题来源js自带的日期Date可以满足一些基本的需求,例如格式化.时间戳 ...

  9. SQL时间戳日期时间转换

    将时间戳转换为日期格式:比如降1455504268→2016-02-15 10:44:28 select device.register_time a,FROM_UNIXTIME(device.reg ...

  10. 日期时间选择器datetimepicker.js

    在做项目中,往往会遇到需要用户输入2014-07-19 09:55:53这样的格式的数据.就是典型的年月日时分秒这样的格式.这个时候,使用datetimepicker会比较简单. DateTimePi ...

随机推荐

  1. centos7 sqoop 1 搭建笔记

    1.require : java环境,hadoop,hive ,mysql2.下载解压sqoop13.设置环境变量 export SQOOP_HOME=/data/spark/bin/sqoop ex ...

  2. 2019.01.14 bzoj5343: [Ctsc2018]混合果汁(整体二分+权值线段树)

    传送门 整体二分好题. 题意简述:nnn种果汁,每种有三个属性:美味度,单位体积价格,购买体积上限. 现在有mmm个询问,每次问能否混合出总体积大于某个值,总价格小于某个值的果汁,如果能,求所有方案中 ...

  3. join和split 的使用

    var abc = new Array(a,b,c,d,e); abc.join('-') // 结果 : a-b-c-d-e-f var obk = 'a-b-c-d-e'; obk.split(' ...

  4. python知识积累

    1. 安装requirements.txt依赖: pip install -r requirements.txt 生成requirements.txt文件: pip freeze > requi ...

  5. Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)

    Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...

  6. php $_SERVER中的一些选项说明

    1, $_SERVER['SCRIPT_FILENAME'] 和 常量 __FILE__的区别(一般情况下两者的显示相同,都是显示文件的绝对路径,包括文件名,显示的起点是 电脑根目录 /) ①,如果在 ...

  7. 远程算数程序——版本v1.0

    很少有需要背诵的程序,但是从这个程序开始,标记的都是必须背诵的. 远程算数程序概述 远程算数程序比较简单,分为服务器端和客户端,客户端发送欲计算的表达式给服务器端,服务端经过计算又返回结果给客户端.如 ...

  8. (转)MVC语法-基础

    好久没有关注微软的开发了,今天看到了MVC3,顺便学习学习,我觉得Razor是个不错的做法,比使用<%%>简单多了,而且好看.首先“_”开头的cshtml文档将不能在服务器上访问,和asp ...

  9. GAE、SAE与BAE的对比分析(百度云)

    https://blog.csdn.net/zhongguomao/article/details/53282307 https://cloud.baidu.com/event/experience/ ...

  10. Linux 下socket通信终极指南(附TCP、UDP完整代码)

    linux下用socket通信,有TCP.UDP两种协议,网上的很多教程把两个混在了一起,或者只讲其中一种.现在我把自己这两天研究的成果汇总下来,写了一个完整的,适合初学者参考,也方便自己以后查阅. ...