moment.js格式化常用使用方法总结大全

Moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。以下就是JavaScrip教程网对moment.js使用过程中的常用使用方法总结,希望可以帮助到大家。

一、设定moment区域为中国

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

二、基础格式 用法

1.日期

moment(new Date()).format("YYYY-MM-DD)  // 2021-10-23

moment(new Date()).format("YYYY/MM/DD)  // 2021/10/23

moment(new Date()).format("YYYYMMDD日”)  // 2021年10月23日

moment(new Date()).locale('zh-cn').format('L')  // 2021/10/23

moment(new Date()).locale('zh-cn').format('l')  // 2021/10/23

moment(new Date()).locale('zh-cn').format('LL')  // 2021年10月23日

moment(new Date()).locale('zh-cn').format('ll')  // 2021年10月23日

2.时间日期

moment(new Date()).format("YYYY-MM-DD hh:mm:ss”)  // 2021-10-23 10:50:33

moment(new Date()).format(YYYYMMDD日 hh时mm分ss秒“)  //   2021年10月23日 10时50分33秒

moment(new Date()).locale('zh-cn').format('LLL')  //   2021年10月23日上午10时50分

moment(new Date()).locale('zh-cn').format('lll')  //   2021年10月23日 10:50

moment(new Date()).locale('zh-cn').format('LLLL')  //   2021年10月23日星期四上午10时50分

moment(new Date()).locale('zh-cn').format('llll')  //   2021年10月23日星期四 10:50
全选代码复制
3.日期时间(24小时制)
moment(new Date()).format("YYYY-MM-DD HH:mm:ss”)  // 2021-10-23 23:50:33

moment(new Date()).format(YYYYMMDDHH时mm分ss秒“)  //   2021年10月23日 23时50分33秒

4.星期

moment().format('dddd') // 星期

5.当前日期之后的某一天/周/月/年/

moment(new Date()).add(1,"days").format("YYYY-MM-DD")  // 2021-10-24  加一天

moment(new Date()).add(1,"weeks").format("YYYY-MM-DD")  // 2021-10-30 加一周

moment(new Date()).add(1,"months").format("YYYY-MM-DD")  // 2021-11-23  加一月

moment(new Date()).add(1,"years").format("YYYY-MM-DD")  // 2022-10-23  加一年
全选代码复制
6.当前日期之前的某一天////
moment().subtract(1, "days").format("YYYY-MM-DD") // 2021-10-22  前一天

moment().subtract(1, "weeks").format("YYYY-MM-DD") // 2021-10-16  前一周

moment().subtract(1, "months").format("YYYY-MM-DD") // 2021-9-23  前一月

moment().subtract(1, "years").format("YYYY-MM-DD") // 2020-10-23  前一年

ps: 将来就是加add,曾经就是减subtract, 现在是moment(),复杂的加减可以使用链式。链式操作举例:moment().add(7, ‘days’).subtract(1, ‘months’) // 意思为当前日期加上7天再减去一个月,时分秒和当前保持一致。

7.日历时间?

// 日历格式为昨天、明天、下周三这种表达,去掉calendar就是正常格式返回
 // days可以换成months、hours、seconds、years
 moment().subtract(10, ‘days’).calendar(); // 当前时间减10天,以日历时间格式返回————2021/03/28
 moment().subtract(6, ‘days’).calendar(); // 当前时间减6天,以日历时间格式返回————上星期四10:27
 moment().subtract(1, ‘days’).calendar(); // 前时间减1天,以日历时间格式返回————昨天10:27
 moment().calendar(); // 当前时间————今天10:27
 moment().add(1, ‘days’).calendar(); // 当前时间加1天,以日历时间格式返回————明天10:27
 moment().add(3, ‘days’).calendar(); // 当前时间加三天,以日历时间格式返回————下星期六10:27
 moment().add(10, ‘days’).calendar(); // 当前时间加10天,以日历时间格式返回————2021/04/17

8.时间地点格式化

console.log(moment().format(YYYY-MM-DD HH:mm:ss”)); //当前时间
console.log(moment().subtract(10, “days”).format(YYYY-MM-DD)); //当前时间的前10天时间
console.log(moment().subtract(1, “years”).format(YYYY-MM-DD)); //当前时间的前1年时间
console.log(moment().subtract(3, “months”).format(YYYY-MM-DD)); //当前时间的前3个月时间
console.log(moment().subtract(1, “weeks”).format(YYYY-MM-DD)); //当前时间的前一个星期时间

9.时间段

console.log(moment() < current || moment().subtract(365, ‘days’) > current); // 过去的一年时间内
console.log(moment().subtract(7, ‘days’).add(1, ‘hours’), moment().add(1, ‘hours’)) // 过去的7天,且时间向上取整

三、moment其他用法

1.moment获取天的23时59分59秒可以用moment().endOf(String),以及获取天的0时0分0秒可以用moment().startOf(‘day’)

moment().endOf(String)
moment().startOf('day')

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')

四、End of Time(moment().endOf(String))

1.获取今天时间

moment().endOf('day')

2.获取本周最后一天(周六)23时59分59秒

moment().endOf('week')

3.获取本周周日23时59分59秒

moment().endOf('isoWeek')
### 4.获取当前月最后一天235959moment().endOf('month')

5.获取当前月的总天数

moment().daysInMonth() 

6.获取时间戳(以秒为单位)

moment().format('X') // 返回值为字符串类型
moment().unix() // 返回值为数值型

7.获取时间戳(以毫秒为单位)

moment().format('x') // 返回值为字符串类型
moment().valueOf() // 返回值为数值型

8.获取年份

moment().year()
moment().get('year')

9.获取月份

moment().month()  // (0~11, 0: January, 11: December)
moment().get('month')

10.获取某月中的某一天

moment().date()
moment().get('date')

11.获取一个星期中的某一天

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')
mment().get('weekday')
moment().get('isoWeekday')

12.获取小时

moment().hours()
moment().get('hours')

13.获取分钟

moment().minutes()
moment().get('minutes')

14.获取秒数

moment().seconds()
moment().get('seconds')

15.获取当前的年月日时分秒

moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
moment().toObject() // {years: xxxx, months: x, date: xx ...}

转化为JavaScript原生Date对象

moment().toDate()
new Date(moment())

将Moment时间转换为JavaScript原生Date对象

let m = moment()
let nativeDate1 = m.toDate()
let nativeDate2 = new Date(m) String(nativeDate1) === String(nativeDate2) // true
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 moment.js 库在 Node.js 中获取时间的各种格式非常简单。首先需要在项目中安装 moment 库,然后在代码中引入它,如下所示: ``` const moment = require('moment'); ``` 然后,可以使用 moment() 函数获取当前时间,并使用各种格式函数对时间进行格式化,如下所示: ``` const now = moment(); console.log(now.format('YYYY-MM-DD HH:mm:ss')); // 输出当前时间的格式为 "2019-12-01 22:30:59" ``` 常用格式化函数有: - YYYY: 年 - MM: 月 - DD: 日 - HH: 时 - mm: 分 - ss: 秒 这些函数可以组合使用,以满足不同的格式需求。 如果你需要格式化一个特定的日期时间,可以在 moment() 函数中传入日期时间字符串或时间戳,如下所示 ``` const specificTime = moment('2022-11-25 12:10:15', 'YYYY-MM-DD HH:mm:ss'); console.log(specificTime.format('YYYY-MM-DD HH:mm:ss')); // 输出特定时间 "2022-11-25 12:10:15" ``` 总之, moment.js 是一个功能非常强大且易用的时间处理库, 是在 Node.js 中处理时间的首选库。 ### 回答2: Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,可以在服务器端运行 JavaScript 代码。moment.js 是一个常用JavaScript 日期处理库,可以帮助我们方便地获取、格式化和操作日期和时间。 在 Node.js使用 moment.js,我们需要先在项目中安装 moment.js 库。可以使用 npm(Node 包管理器)进行安装,命令如下: ``` npm install moment --save ``` 安装完成后,我们可以在代码中引入 moment 模块并使用它提供的函数来获取时间的各种格式。以下是几个常用的示例: 1. 获取当前时间的字符串格式: ```javascript const moment = require('moment'); const currentTime = moment().format('YYYY-MM-DD HH:mm:ss'); console.log(currentTime); ``` 2. 获取指定日期的字符串格式: ```javascript const moment = require('moment'); const date = moment('2022-12-31'); const dateString = date.format('YYYY年MM月DD日'); console.log(dateString); ``` 3. 获取当前时间的 Unix 时间戳: ```javascript const moment = require('moment'); const unixTimestamp = moment().valueOf(); console.log(unixTimestamp); ``` 4. 根据指定的时间格式解析字符串为日期对象: ```javascript const moment = require('moment'); const dateString = '2022年12月31日'; const date = moment(dateString, 'YYYY年MM月DD日'); console.log(date.format('YYYY-MM-DD')); ``` 这些只是 moment.js 提供的一小部分功能,还有很多其他的日期和时间处理函数可以使用。通过使用 moment.js,我们可以更轻松地处理和格式化日期和时间数据。 ### 回答3: node.js是一种用于构建高度可伸缩的网络应用程序的JavaScript运行时环境。moment.js是一个JavaScript日期处理库,可简化日期和时间的操作和格式化使用moment.js可以轻松获取和处理各种时间格式。 首先,通过在node.js脚本中引入moment.js库,我们可以使用其提供的各种函数和方法。例如,我们可以使用`moment()`函数来获取当前的日期和时间,如下所示: ```javascript const moment = require('moment'); const now = moment(); // 获取当前日期和时间 console.log(now); ``` 这会将当前的日期和时间以默认格式打印出来。moment.js还提供了各种格式选项,可以根据需要进行格式化。例如,我们可以使用`format()`方法来将日期和时间格式化为指定的字符串格式: ```javascript const formattedDateTime = now.format('YYYY-MM-DD HH:mm:ss'); console.log(formattedDateTime); ``` 上述代码将当前日期和时间格式化为"年-月-日 时:分:秒"的格式,并将其打印出来。 除了`format()`方法moment.js还提供了许多其他用于获取和处理各种时间格式的方法。例如,我们可以使用`year()`、`month()`、`date()`、`hour()`、`minute()`、`second()`等方法获取特定时间单位的值: ```javascript const year = now.year(); // 获取当前年份 const month = now.month() + 1; // 获取当前月份(需要额外加1,因为月份从0开始) const date = now.date(); // 获取当前日期 const hour = now.hour(); // 获取当前小时 const minute = now.minute(); // 获取当前分钟 const second = now.second(); // 获取当前秒数 console.log(`${year}-${month}-${date} ${hour}:${minute}:${second}`); ``` 通过这些方法,我们可以获取到某个特定时间单位的值,并根据需要进行进一步格式化和处理。 以上只是介绍了moment.js中的一些基本用法,它还有很多其他功能和方法可以帮助我们处理日期和时间。希望这些信息对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值