[Javascript]时间日期处理工具monent.js常用方法整理示例

2021-03-23 15742点热度 0人点赞 2条评论

moment.js 是我用的最顺手的Javascript下处理时间日期的工具方法。基本上你能想到的关于时间日期的操作,moment.js都能做到。

加载moment.js

如果你使用的不带框架的Javascript,那么可以下载:https://momentjs.com/downloads/moment.min.js

直接使用<script type="text/javascript" src="${base}/assets/js/moment.min.js"></script>加载就可以了。

以下是其他带框架的方式:

npm install moment --save   # npm
yarn add moment             # Yarn
Install-Package Moment.js   # NuGet
spm install moment --save   # spm
meteor add momentjs:moment  # meteor
bower install moment --save # bower (deprecated)

使用示例,已加注释,请自行取用

更多官方英文文档,请查阅:https://momentjs.com/docs/

//构造
moment("not a real date").isValid(); // false
//当前日期
moment();
moment("2013-02-08");
moment("2013-02");
moment("20130208");
moment("201302");
moment("2013-02-08 09:30");
moment("2013-02-08 09:30:26");
moment(1318781876406);//毫秒
moment([2010, 1, 14, 15, 25, 50, 125]); // February 14th, 3:25:50.125 PM

//Any value past the year is optional, and will default to the lowest possible number.
moment([2010]);        // January 1st
moment([2010, 6]);     // July 1st
moment([2010, 6, 10]); // July 10th

//或者不规则的:
moment("12-25-1995", "MM-DD-YYYY");
//如果只指定某个字段,那么其他字段是当天这个时刻
moment(5, "HH");  // today, 5:00:00.000
moment({hour: 5});  // today, 5:00:00.000
moment({hour: 5, minute: 10});  // today, 5:10.00.000
moment({hour: 5, minute: 10, seconds: 20});  // today, 5:10.20.000
moment({hour: 5, minute: 10, seconds: 20, milliseconds: 300});  // today, 5:10.20.300

//深度复制
var a = moment([2012]);
var b = moment(a);
//or:
var b = a.clone();
a.year(2000);
b.year(); // 2012


//得到javascript的Date对象
moment().toDate();

//format格式化
//more :https://momentjs.com/docs/#/displaying/format/
moment().format("YYYY-MM-DD HH:mm:ss");
//带星期几
var dayOfWeek = moment().day()
moment().format("YYYY年M月D日") + ' 星期' + '日一二三四五六'.charAt(dayOfWeek);

//得到毫秒数
moment().valueOf();
//秒数
moment().unix();

//某个月有多少天
moment("2012-02", "YYYY-MM").daysInMonth() // 29
moment("2012-01", "YYYY-MM").daysInMonth() // 31

//增加或减少
moment().add(7, 'days');//还可以years quarters months weeks days hours minutes seconds milliseconds
//如果是负数,就是减少
moment().add(7, 'days').add(1, 'months'); // with chaining
moment().add({days:7,months:1}); // with object literal
//减少
moment().subtract(7, 'days');

// Get or Set
moment().millisecond(Number);//0-999
moment().millisecond(); // Number
moment().second(Number);//0-59
moment().second(); // Number
moment().minute(Number);//0-59
moment().minute(); // Number
moment().hour(Number);//0-23
moment().hour(); // Number
//DayofMonth一个月中的第几天,注意是1到31
moment().date(Number);//1-31
moment().date(); // Number
//DayOfWeek
moment().day(Number|String);//0-6 星期天是0 星期六是6
moment().day(); // Number
moment().month(Number|String);//0-11一月份是0
moment().month(); // Number
moment().year(Number);
moment().year(); // Number
//Or:
moment().get('year');
moment().get('month');  // 0 to 11
moment().get('date');
moment().get('hour');
moment().get('minute');
moment().get('second');
moment().get('millisecond');
//Set:
moment().set('year', 2013);
moment().set('month', 3);  // April
moment().set('date', 1);
moment().set('hour', 13);
moment().set('minute', 20);
moment().set('second', 30);
moment().set('millisecond', 123);

moment().set({'year': 2013, 'month': 3});


//Query
moment().isBefore(Moment|String|Number|Date|Array);
moment('2010-10-20').isBefore('2010-10-21'); // true
moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment().isSame(Moment|String|Number|Date|Array);
moment().isSame(Moment|String|Number|Date|Array, String);
moment('2010-10-20').isSame('2009-12-31', 'year');  // false
moment('2010-10-20').isSame('2010-01-01', 'year');  // true
moment().isAfter(Moment|String|Number|Date|Array);
moment().isAfter(Moment|String|Number|Date|Array, String);
moment().isSameOrBefore(Moment|String|Number|Date|Array);
moment().isSameOrBefore(Moment|String|Number|Date|Array, String);
moment().isSameOrAfter(Moment|String|Number|Date|Array);
moment().isSameOrAfter(Moment|String|Number|Date|Array, String);

moment().isBetween(moment-like, moment-like);
moment().isBetween(moment-like, moment-like, String);
moment().isBetween(moment-like, moment-like, String, String);
// where moment-like is Moment|String|Number|Date|Array


//是否闰年
moment([2000]).isLeapYear() // true
moment([2001]).isLeapYear() // false

//IS Date
moment.isDate(); // false
moment.isDate(new Date()); // true


 

 

admin

这个人很懒,什么都没留下

文章评论

  • Fistone

    Sknzbe cialis 20mg info buy cialis daily online Zftblx efectos viagra dosis Xslfsu Dgtdoa best place to buy cialis online CXR May be a clear indicator of a pathogenic process or even diagnostice. Hgkacp

    2022-06-01
  • HillVag

    darkfox link cannahome market darknet

    2022-06-21
  • 您需要 登录 之后才可以评论