获取时间,设置时间,格式化时间,比较时间等等

安装和引用(支持多种引入方式)

var moment = require('moment');
moment().format();

当前时间

var now = moment();
// 设置为中国时区
moment.locale('zh-cn'); 

获取时间

(1)获取当前时间   moment()
(2)获取今天0时0分0秒  moment().startOf('day')
(3)获取本周第一天(周日)0时0分0秒   moment().startOf('week')
(4)获取本周周一0时0分0秒  moment().startOf('isoWeek')
(5)获取当前月第一天0时0分0秒   moment().startOf('month')
(6)获取今天23时59分59秒  moment().endOf('day')
(7)获取本周最后一天(周六)23时59分59秒  moment().endOf('week')
(8)获取本周周日23时59分59秒   moment().endOf('isoWeek')
(9)获取当前月最后一天23时59分59秒  moment().endOf('month')
(10)获取当前月的总天数   moment().daysInMonth() 
(11)获取时间戳(以秒为单位)  
        moment().format('X') // 返回值为字符串类型 
        moment().unix() // 返回值为数值型
(12)获取时间戳(以毫秒为单位)
        moment().format('x') // 返回值为字符串类型
        moment().valueOf() // 返回值为数值型
(13)获取年份   moment().year()  /  moment().get('year')
(14)获取月份 moment().month()  // (0~11, 0: January, 11: December) /  moment().get('month')
(15)获取当月当日  moment().date() /  moment().get('date')
(16)获取一个星期中的某一天 
       moment().day() // (0~6, 0: Sunday, 6: Saturday)
       moment().weekday() // (0~6, 0: Sunday, 6: Saturday)
       moment().isoWeekday() // (1~7, 1: Monday, 7: Sunday)
       moment().get('day')
       moment().get('weekday')
       moment().get('isoWeekday')
(17)获取小时   moment().hours() /  moment().get('hours')
(18)获取分钟 moment().minutes()  /  moment().get('minutes')
(19)获取秒数   moment().seconds() /  moment().get('seconds')
(20)获取当前的年月日时分秒 
       moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
       moment().toObject() // {years: xxxx, months: x, date: xx ...}

设置时间

(1)设置年份  moment().year(2019)
(2)设置月份  moment().month(11)  // (0~11, 0: January, 11: December)
(3)设置某个月中的某一天  moment().date(15)
(4)设置某个星期中的某一天
 moment().weekday(0) // 设置日期为本周第一天(周日)
 moment().isoWeekday(1) // 设置日期为本周周一
 moment().set('weekday', 0)
 moment().set('isoWeekday', 1)
(5)设置小时   moment().hours(12)
(6)设置分钟   moment().minutes(30) /  moment().set('minutes', 30)
(7)设置秒数  moment().seconds(30)
(8)年份+1  moment().add(1, 'years')
(9)月份+1  moment().add(1, 'months')
(10)日期+1  moment().add(1, 'days')
(11)星期+1  moment().add(1, 'weeks')
(12)小时+1  moment().add(1, 'hours')
(13)分钟+1  moment().add(1, 'minutes') 
(14)秒数+1  moment().add(1, 'seconds')
(15)年份-1   moment().subtract(1, 'years')  /  moment().subtract({years: 1})
(16)月份-1  moment().subtract(1, 'months')
(17)日期-1  moment().subtract(1, 'days') 
(18)星期-1  moment().subtract(1, 'weeks') 
(19)小时-1  moment().subtract(1, 'hours')
(20)分钟-1  moment().subtract(1, 'minutes')
(21)秒数-1  moment().subtract(1, 'seconds')

格式化时间

格式代码        说明                    返回值例子
M        数字表示的月份,没有前导零       1到12
MM       数字表示的月份,有前导零         01到12
MMM      三个字母缩写表示的月份          Jan到Deo
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 pmi
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().format('YYYY年MM月DD日')
moment().format('hh:mm:ss a')
moment().format('x') // 返回值为字符串类型时间戳

对比时间

let start_date = moment().subtract(1, 'weeks') // 周 -1 上一周
let end_date = moment()
end_date.diff(start_date) // 返回毫秒数
end_date.diff(start_date, 'months') // 0
end_date.diff(start_date, 'weeks') // 1
end_date.diff(start_date, 'days') // 7
start_date.diff(end_date, 'days') // -7

转换标准时间

moment().toDate()
new Date(moment())
moment()._d
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容