建设集团网站报告书,阿里巴巴网站分类板块做全屏,网站推广被封域名如何做跳转,长春 房地产网站建设Moment.js是一个轻量级的JavaScript时间库#xff0c;它方便了日常开发中对时间的操作#xff0c;提高了开发效率。日常开发中#xff0c;通常会对时间进行下面这几个操作#xff1a;比如获取时间#xff0c;设置时间#xff0c;格式化时间#xff0c;比较时间等等。下面…Moment.js是一个轻量级的JavaScript时间库它方便了日常开发中对时间的操作提高了开发效率。日常开发中通常会对时间进行下面这几个操作比如获取时间设置时间格式化时间比较时间等等。下面就是我对moment.js使用过程中的整理方便以后查阅。
一、引入moment.js
1.Node.js方式引入
1安装
npm install moment 或者 yarn add moment2引入
// require 方式
var moment require(moment);// import 方式
import moment from moment; 2.浏览器方式引入
script srcmoment.js/script二、moment时区和转换
1.时区的设置
// require 方式
require(moment/locale/zh-cn)
moment.locale(zh-cn); // import 方式
import moment/locale/zh-cn
moment.locale(zh-cn); //使用utc时区,后面可继续添加相关获取时间或格式化操作
moment.utc()2.UTC和北京时间的互转
2.1 目标是UTC时间则用moment(utcTime).utc()方法举例
moment(utcTime).utc().format(YYYY-MM-DD HH:mm:ss)2.2 目标是北京时间则用moment(utcTime).utcOffset(8)方法举例
moment(utcTime).utcOffset(8).format(YYYY/MM/DD HH:mm:ss)三、使用
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() // (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)17获取小时
moment().hours()
moment().get(hours)18获取分钟
moment().minutes()
moment().get(minutes)19获取秒数
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到12MM数字表示的月份有前导零01到12MMM三个字母缩写表示的月份Jan到DecMMMM月份完整的文本格式January到DecemberQ季度1到4D月份中的第几天没有前导零1到31DD月份中的第几天有前导零01到31d星期中的第几天数字表示0到60表示周日6表示周六ddd三个字母表示星期中的第几天Sun到Satdddd星期几完整的星期文本从Sunday到Saturdayw年份中的第几周如42表示第42周YYYY四位数字完整表示的年份如2014 或 2000YY两位数字表示的年份如14 或 98A大写的AM PMAM PMa小写的am pmam pmHH小时24小时制有前导零00到23H小时24小时制无前导零0到23hh小时12小时制有前导零00到12h小时12小时制无前导零0到12m没有前导零的分钟数0到59mm有前导零的分钟数00到59s没有前导零的秒数1到59ss有前导零的描述01到59XUnix时间戳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) // 0
end_date.diff(start_date, weeks) // 1
end_date.diff(start_date, days) // 7
start_date.diff(end_date, days) // -75.转化为JavaScript原生Date对象
moment().toDate()
new Date(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:4308:007.相对时间输出实例
moment(20111031, YYYYMMDD).fromNow(); // 12 年前moment(20120620, YYYYMMDD).fromNow(); // 12 年前moment().startOf(day).fromNow(); // 20 小时前moment().endOf(day).fromNow(); // 4 小时内moment().startOf(hour).fromNow(); // 1 小时前8.日历时间输出实例
moment().subtract(10, days).calendar(); // 2019年5月14日moment().subtract(6, days).calendar(); // 上周六晚上7点49moment().subtract(3, days).calendar(); // 本周二晚上7点49moment().subtract(1, days).calendar(); // 昨天晚上7点49分moment().calendar(); // 今天晚上7点49分moment().add(1, days).calendar(); // 明天晚上7点49分moment().add(3, days).calendar(); // 下周一晚上7点49moment().add(10, days).calendar(); // 2019年6月3日9.多语言支持输出实例
moment().format(L); // 2019-05-24moment().format(l); // 2019-05-24moment().format(LL); // 2019年5月24日moment().format(ll); // 2019年5月24日moment().format(LLL); // 2019年5月24日晚上7点50分moment().format(lll); // 2019年5月24日晚上7点50分moment().format(LLLL); // 2019年5月24日星期五晚上7点50分moment().format(llll); // 2019年5月24日星期五晚上7点50分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) //本年的的开始日期2019-01-01
moment().endOf(year).format(YYYY-MM-DD) //本年的的结束日期2019-12-31
//moment 转成时间戳
moment().valueOf()
//时间戳 转 moment
moment(string).format()