使用moment格式化日期

使用moment格式化日期案例:本例是在react-native中格式化日期1,引入moment2,使用moment例如:letstartDate=moment(‘2018-09-27’).format(YYYY-MM-DD);moment使用详解:格式化日期当前时间:moment().format(‘YYYY-MM-DDHH:mm:ss’);//2014-09-2423:…

大家好,又见面了,我是你们的朋友全栈君。

案例:本例是在react-native中格式化日期

1,引入moment

使用moment格式化日期

2,使用moment

例如:let startDate = moment(‘2018-09-27’).format(YYYY-MM-DD);

使用moment格式化日期

moment使用详解:

格式化日期

当前时间:

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().subtract('days',7).format('YYYY年MM月DD日'); //2014年10月01日
  • 7天后的日期:
moment().add('days',7).format('YYYY年MM月DD日'); //2014年10月01日
  • 9小时前的时间:
moment().subtract('hours',9).format('HH:mm:ss'); 
  • 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 写法示例

Moment.js 是我用过的最好用的操作时间的工具库。它使得操作时间变得很简单。

创建

moment() // 当前时间
moment("1995-12-25") // 1995-12-25
moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天
moment(new Date(2011, 9, 16)) // 2011-10-16

格式化

moment().format('YYYY年MM月DD日 HH:mm:ss') // 2016年11月11日 22:05:19
moment().format('hh:m:ss') // 10:5:19
moment().format('[YYYY]') // "YYYY"。[] 里的会原样输出。

转化成 Date 对象

moment().toDate()

获取/设置时间信息

moment().second() //获得 秒
moment().second(Number) //设置 秒。0 到 59
moment().minute() //获得 分
moment().minute(Number) //设置 分。0 到 59
// 类似的用法
moment().hour() // 小时
moment().date() // 一个月里的第几天
moment().day() // 星期几
moment().dayOfYear() // 一年里的第几天
moment().week() // 一年里的第几周
moment().month() // 第几个月
moment().quarter() // 一年里的第几个季度
moment().year() // 年
moment().daysInMonth() // 当前月有多少天

操作

moment().add(7, 'days') // 之后的第7天。第2个参数还可以是 'months', 'years' 等。注意是复数。
moment().add(7, 'd')// 与上面一行代码的运行结果一样。
moment().subtract(1, 'months') // 上个月

moment().startOf('week') // 这周的第一天
moment().startOf('hour') // 等效与 moment().minutes(0).seconds(0).milliseconds(0)。
// 还支持 'year','month' 等

moment().endOf('week')

查询

// 早于
moment('2010-10-20').isBefore('2010-10-21') // true
moment('2010-10-20').isBefore('2010-12-31', 'year') // false
moment('2010-10-20').isBefore('2011-01-01', 'year') // true

// 是否相等
moment('2010-10-20').isSame('2010-10-20') // true
moment('2010-10-20').isSame('2009-12-31', 'year')  // false
moment('2010-10-20').isSame('2010-01-01', 'year')  // true

// 晚于
moment('2010-10-20').isAfter('2010-10-19') // true
moment('2010-10-20').isAfter('2010-01-01', 'year') // false
moment('2010-10-20').isAfter('2009-12-31', 'year') // true

// 是否在时间范围内
moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true

moment().isLeapYear() // 是否是闰年

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131883.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DHCP 协议详解

    DHCP 协议详解1DHCP协议1.1DHCP协议理解定义:DHCP:DynamicHostConfigurationProtocol,动态主机配置协议,是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配IP地址给用户 用于内部网管理员对所有电脑作中央管理作用:动态分配IP地址,过程自动化,终端无需一一…

    2022年5月24日
    34
  • goland激活码最新_最新在线免费激活

    (goland激活码最新)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S3…

    2022年3月26日
    47
  • ssti模板注入 命令执行_access注入绕过

    ssti模板注入 命令执行_access注入绕过http://xmctf.top:8962/?name={{%22%22[%22\x5f\x5fclass\x5f\x5f%22][“\x5F\x5Fbase\x5F\x5F”][“\x5F\x5Fsubclasses\x5F\x5F”]()[233][“\x5F\x5Finit\x5F\x5F”][“\x5F\x5Fglobals\x5F\x5F”][“\x5F\x5Fbuiltins\x5F\x5F”][‘eval’](“\x5F\x5Fimport\x5F\x5F(‘os’))”)}}

    2022年9月1日
    4
  • mysql数据库读写分离实现_数据库读写分离的原理

    mysql数据库读写分离实现_数据库读写分离的原理读写分离是基于主从复制上面布置的,需要使用Atlas软件,代理服务器上只需要安装mariadb客服端三台服务器:一台做主,一台做从,一台安装Atlas软件主从复制部署在我的主页里面有,需要的可以去看下,链接:https://mp.csdn.net/mp_blog/creation/editor/1227122181)安装配置Atals软件,rz上传#rpm-ivhAtlas-2.2.1.el6.x86_64.rpm路径:cd/usr/local/mysql-proxy/bin..

    2025年6月27日
    1
  • osip2添加多个不同类型body[通俗易懂]

    osip2添加多个不同类型body[通俗易懂]最近接到任务,要写一个SIP协议转换的服务器。但个人对SIP了解非常少,幸好学长写有一个类似的东西,于是向学长请教。但是由于个人悟性问题(微笑),我除了知道了用了osip和exosip这个库之外,其他一无所知。于是回实验室开始看源码+网上查资料,发现了一个问题:目前学长的程序还有网上的资料千篇一律全是只添加了一个body(即SDP部分),但是根据实际,我需要添加两个body(SDP和XML),但网

    2022年6月29日
    26
  • Fiddler高级用法-设置断点「建议收藏」

    Fiddler高级用法-设置断点「建议收藏」我们知道Fiddler是位于客户端和服务器之间的代理,它能够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改

    2022年7月1日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号