moment.js使用

这篇具有很好参考价值的文章主要介绍了moment.js使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。

一、引入moment.js

1.Node.js方式引入

(1)安装

● npm install moment

●  yarn add moment

(2)引入

● require 方式  
var moment = require('moment');

● import 
方式 import moment from'moment';

2.  浏览器方式引入

二、  设定moment区域为中国

// require 方式

require ('moment/locale/zh-cn')  moment.locale('zh-cn');

// import 方式

import 'moment/locale/zh-cn'moment.locale('zh-cn');

三、使用

1.获取时间

(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()                   // (06, 0: Sunday, 6: Saturday)

moment().weekday()          // (06, 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 ...}

2.  设置时间

(1)设置年份
moment().year(2019)

moment().set('year',2019)

moment().set({year:2019})
(2)设置月份
moment().month(11)         // (0\~11, 0: January, 11: December)

moment().set('month',11)
(3)设置某个月中的某一天
moment().date(15)

moment().set('date',15)
(4)设置某个星期中的某一天
moment().weekday(0)                   // 设置日期为本周第一天(周日)

moment().isoWeekday(1)            // 设置日期为本周周一

moment().set('weekday',0)

moment().set('isoWeekday',1)
(5)设置小时
moment().hours(12)

moment().set('hours',12)
(6)设置分钟
moment().minutes(30)

moment().set('minutes',30)
(7)设置秒数
moment().seconds(30)

moment().set('seconds',30)
(8)年份+1
moment().add(1,'years')

moment().add({years:1})
(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')

3.格式化时间

格式代码 说明 返回值例子
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
(1)格式化年月日: ‘xxxx年xx月xx日’
moment().format('YYYY年MM月DD日')
(2)格式化年月日: ‘xxxx-xx-xx’
moment().format('YYYY-MM-DD')
(3)格式化时分秒(24小时制): ‘xx时xx分xx秒’
moment().format('HH时mm分ss秒')
(4)格式化时分秒(12小时制):‘xx:xx:xx am/pm’
moment().format('hh:mm:ss a')
(5)格式化时间戳(以毫秒为单位)
moment().format('x')    // 返回值为字符串类型

4.比较时间

(1)获取两个日期之间的时间差
let start\_date =moment().subtract(1,'weeks')

let end\_date = moment()

end\_date.diff(start\_date)        // 返回毫秒数

end\_date.diff(start\_date,'months')    // 月

end\_date.diff(start\_date,'weeks')   // 周

end\_date.diff(start\_date,'days')  // 天

start\_date.diff(end\_date,'days')    // -7
(2)判断B日期是否在A日期前面
moment(B).isBefore(A)

5.  转化为JavaScript原生Date对象

moment().toDate()

newDate(moment())

6.日期格式化

moment().format('MMMM Do YYYY, h:mm:ss a');         // 五月 24日 2019, 7:47:43 晚上
moment().format('dddd');                     // 星期五

moment().format("MMM Do YY");          // 5月 24日 19

moment().format('YYYY \[escaped] YYYY');        // 2019 escaped 2019

moment().format();                     // 2019-05-24T19:47:43+08:00

7.相对时间

moment("20111031","YYYYMMDD").fromNow();             // n年前

moment("20111031","YYYYMMDD").fromNow(true);             // n年

moment().startOf('day').fromNow();               // n 小时前

moment().endOf('day').fromNow();                // n 小时内

moment().startOf('hour').fromNow();             // n 小时前

下表概述了每个时间长度显示的字符串的细分。文章来源地址https://www.toymoban.com/news/detail-671853.html

范围 样本输出
0 至 44 秒 s 几秒前
未设定 ss 44 秒前
45 至 89 秒 m 1 分钟前
90 秒至 44 分钟 mm 2 分钟前 … 44 分钟前
45 至 89 分钟 h 1 小时前
90 分钟至 21 小时 hh 2 小时前 … 21 小时前
22 至 35 小时 d 1 天前
36 小时至 25 天 dd 2 天前 … 25 天前
26 至 45 天 M 1 个月前
45 至 319 天 MM 2 个月前 … 10 个月前
320 至 547 天 (1.5 年) y 1 年前
548 天+ yy 2 年前 … 20 年前

8.日历时间

moment().subtract(n,'days').calendar();           //当前时间的前n天时间

moment().calendar();                                     // 当前时间

moment().add(n,'days').calendar();              // 当前时间的后n天时间

9.多语言支持

moment().format('L');  moment().format('l');        // 月份数字,日期,年份 (09/04/1986)

moment().format('LL');   moment().format('ll');       //月份、月日、年 (1986 年 9 月 4 日)

moment().format('LLL');  moment().format('lll');       //  月份、月日、年、时间(1986 年 9 月 4 日 8:下午 30 点

moment().format('LLLL');  moment().format('llll');      // 月份名称、月份日期、星期几、年份、时间(1986 年 9 月 4 日星期四 8:下午 30 点)

10.其它实用技巧:

moment().format("YYYY-MM-DD")                       // 格式化显示当前时间

moment().subtract("month", +1).format("YYYY-MM")-01       // 上一个月的1号

moment().add("month", -1).format("YYYY-MM")-01     // 还是上一个月1号

let M =`${moment().format("YYYY-MM")}-01`        // 本月一号

moment(M).add("days", -1).format("YYYY-MM-DD")     // 上一个月月底

moment().startOf("year").format("YYYY-MM-DD")     // 本年的的开始日期

moment().endOf("year").format("YYYY-MM-DD")           // 本年的的结束日期

moment().valueOf()             // moment 转成时间戳

moment(string).format()       // 时间戳 转 moment

// 解决Moment格式化时间出现时区差的问题

moment().utcOffset()      // 接收数字,时间偏移量,单位:分钟

Moment(date).utcOffset(480).format('YYYY-MM-DD HH:mm:ss');         // 北京时间东八区时间,比零时区早8个小时(480分钟),所以应该加上480分钟

到了这里,关于moment.js使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JS 获取当前时间戳方法汇总

    2024年02月16日
    浏览(39)
  • 如何在JavaScript中获取当前时间yyyymmddhhmmss? (六种实现方式)

    在编写JavaScript代码时,我们经常需要获取当前日期和时间。在本文中,我们将介绍几种获取当前时间并将其格式化为 yyyymmddhhmmss 的字符串的方法。 在JavaScript中,我们可以使用 Date 对象来获取当前日期和时间。下面是一个示例代码: 在上面的代码中,我们使用 getFullYear 、

    2024年02月11日
    浏览(24)
  • javascript设置指定年月日,js动态显示当前时间

    大家好,本文将围绕js中如何动态显示日期时间展开说明,javascript设置指定年月日是一个很多人都想弄明白的事情,想搞清楚js动态显示当前时间需要先了解以下几个事情。 创建showTime()函数,利用JavaScript中的Date对象的属性及方法获取时间,利用Window对象的 setInterval() 方法按

    2024年02月03日
    浏览(30)
  • JavaScript - 判断当前时间是否在指定区间内,例如:9:00~12:00(检查当前时间是否处于规定的两个时间段范围内),适用于 vue.js / uniapp / 微信小程序等前端项目

    例如,您想知道当前时间是否处于 9:00 ~ 12:00 时间区间内,然后根据这个判断进而实现业务逻辑。 如下示例所示, 本文提供一个函数,您只需要传入 2 个时间区间,便可得出当前时间是否在该时间区间范围内: 您可以一键复制,直接粘贴到您的项目中。 您只需要传入开始时

    2024年02月16日
    浏览(50)
  • js/javascript获取时间戳的5种方法

    以下便是干货 1.获取时间戳精确到秒,13位 2.获取时间戳精确到毫秒,13位 3.获取时间戳精确到毫秒,13位 4.获取时间戳精确到毫秒,13位 5.获取时间戳精确到毫秒,13位 其它 在开发的中需要精确到秒的时候,推荐使用 第1种方法,也需要除以1000才行,如果是需要时间戳毫秒的推荐 +new D

    2024年02月11日
    浏览(33)
  • JavaScript获取时间(js中的new Date(),获取前7天时间)

    简述:我们在写Echarts的时候,难免会用到js中的new Date(),用来获取时间, 今天就来分享下它的用法,顺便做下笔记。 关于new Date()的一些js方法: 输出: 1、 获取前一段时间的日期 难点: 这里用到了setDate()方法,该方法用于实现日期的相加减,它接收一个整数,如果这个整

    2024年02月09日
    浏览(67)
  • 时间不等人,但 Moment.js 可以等你解决时间问题!

    一直以来,处理时间和日期的JavaScript库,选用的都是 Moment.js 。它的API清晰简单,使用方便灵巧,功能还特别齐全。 我是Moment.js的重度使用者。凡是遇到时间和日期的操作,就把Moment.js引用上。 Moment.js是一款常用于JavaScript日期时间处理的代码库,它能够解析、验证、操作以

    2024年02月06日
    浏览(34)
  • JavaScript中的时间日期函数new Date()(JS中5种获取时间戳的函数)

    简介: JavaScript 中的 new Date() 方法用于创建一个新的 Date 对象,该对象表示当前日期和时间。Date 对象提供了许多方法和属性,可以用于获取和设置日期和时间信息。 new Date([year, month, day, hour, minute, second, millisecond]) 其中,每个参数都是可选的。如果没有指定参数,则 new Dat

    2024年02月04日
    浏览(47)
  • 使用JS获取当前地理位置的两种方法

    HTML5 Geolocation API HTML5 Geolocation API是W3C定制的用于获取用户地理位置信息的标准API,它可以使用纯JavaScript来获取用户的GPS坐标信息,这是一种免费的获取位置的方法。 IP定位API 如果HTML5 Geolocation API无法满足需求,可以使用IP定位API来获取用户的位置信息。它可以根据用户IP地址

    2024年02月06日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包