文档章节

日期和时间组件:moment.js

孟飞阳
 孟飞阳
发布于 2016/10/14 17:39
字数 726
阅读 154
收藏 3

大家在前端Javascript开发中会遇到处理日期时间的问题,经常会拿来一大堆处理函数才能完成一个简单的日期时间显示效果。今天我给大家介绍一个轻量级的Javascript日期处理类库:moment.js,使用它可以轻松解决前端开发中遇到的种种日期时间问题。

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

格式化日期

当前时间:

moment().format('YYYY-MM-DD HH:mm:ss'); //2014-09-24 23:36:09 

今天是星期几:

moment().format('d'); //3 

转换当前时间的Unix时间戳:

moment().format('X'); 

相对时间

20120901相对当前日期是2年前

moment("20120901", "YYYYMMDD").fromNow(); //2 years ago 

7天后的日期:

moment().add('days',7).format('YYYY年MM月DD日'); //2014年10月01日 

9小时后的时间:

moment().add('hours',9).format('HH:mm:ss'); 

moment.js提供了丰富的说明文档,使用它还可以创建日历项目等复杂的日期时间应用。我们日常开发中最常用的是格式化时间,下面我把常用的格式制作成表格说明供有需要的朋友查看:

格式代码 说明 返回值例子
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的介绍,请访问项目官网:http://momentjs.com/

在线演示地址:http://www.helloweba.com/demo/datetime/

组件下载:http://www.helloweba.com/down-271.html

© 著作权归作者所有

共有 人打赏支持
孟飞阳
粉丝 212
博文 998
码字总数 550537
作品 5
朝阳
个人站长
私信 提问
Day.js :用小巧的身形满足你

编者按:本文转载掘金,已经获得作者授权, 原文链接的是day.js的github仓库, 欢迎大家pr、issue、star哦! Moment.js 是一个大而全的 JS 时间库,很大地方便了我们处理日期和时间。但是 Mo...

奇舞周刊
2018/05/02
0
0
不容错过的超棒Javascript日期处理类库-Moment.js

日期:2012/02/20 来源:GBin1.com moment.js是一个轻量级并且健壮的js日期处理类库,相信大家在javascript开发过程中,都自己动手写过,或者使用google和百度搜索过相关的实现函数。使用这个...

未来十年
2012/12/22
0
0
Moment.js 2.7.0 发布,JavaScript 日期时间处理

Moment.js 2.7.0 发布了,下载地址: https://github.com/moment/moment/releases/tag/2.7.0 Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。...

oschina
2014/06/28
5.8K
5
Flask 教程 第十二章:日期和时间

本文转载自:https://www.jianshu.com/p/0c6b05ce1c5c 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的方式处理日期和时间,无论他们身处地球上的何处。 显示日期...

天降攻城狮
02/22
0
0
moment.js 添加中文语言(汉化)

今天引入了moment.js处理时间格式,但是发现默认是英文的,比如我想显示“星期三”,但实际出来的是“Wednesday”。那怎样把语言改为中文呢? moment.js提供了多种语言的支持,首先在github上...

jason_wu_2
2016/12/06
238
0

没有更多内容

加载失败,请刷新页面

加载更多

Mysql(Mariadb)数据库主从复制

Mysql主从复制的实现原理图大致如下: MySQL之间数据复制的基础是以二进制日志文件(binary log file)来实现的,一台MySQL数据库一旦启用二进制日志后,其作为master,它数据库中所有操作都...

xiangyunyan
30分钟前
0
0
Android 自定义Path贝塞尔曲线View实践——旋转的花朵

一、关于贝塞尔曲线 在工业设计方面贝塞尔曲线有很多用途,同样,在Android中,贝塞尔曲线结合Path类可以实现更复杂的图形,这里我们给一个案例,来实现一种旋转的花朵。对于贝赛尔曲线的理解...

IamOkay
34分钟前
0
0
7、redis主从复制和sentinel配置高可用

一:redis主从配置 1、环境准备 master : 192.168.50.10 6179 slave1: 192.168.50.10 6279 slave2: 192.168.50.10 6379 2、redis.conf配置文件配置 master port 6179......

刘付kin
43分钟前
1
0
OSChina 周日乱弹 —— 我重新说

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享矢野立美的单曲《LOVE Theme from TIGA <M-2>》: 《LOVE Theme from TIGA <M-2>》- 矢野立美 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
129
7
Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部