ndejs使用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 写法示例

moment.js不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以像PHP的date()函数一样,格式化日期时间,计算相对时间,获取特定时间后的日期时间等等。下面是一些使用例子。

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

多样化的本地时间支持:

moment.locale();         // zh-cn
moment().format('LT');   // 11:55
moment().format('LTS');  // 11:55:16
moment().format('L');    // 2017年3月20日
moment().format('l');    // 2017年3月20日
moment().format('LL');   // 2017年3月20日
moment().format('ll');   // 2017年3月20日
moment().format('LLL');  // 2017年3月20日中午11点55分
moment().format('lll');  // 2017年3月20日 11:55
moment().format('LLLL'); // 2017年3月20日星期一中午11点55分
moment().format('llll'); // 2017年3月20日星期一 11:55

由于即便是压缩过后的 moment.min.jsmoment-with-locales.min.js 也是比较大的,因为项目中通常情况下时区只需默认显示中国 “zh-cn”。自己在网上找到了一个只包含中文语言包的压缩版本,大小仅 53kb。

创建:

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() // 是否是闰年

相对时间:

moment("20111031", "YYYYMMDD").fromNow(); // 5 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 5 years ago
moment().startOf('day').fromNow();        // 12 hours ago
moment().endOf('day').fromNow();          // in 12 hours
moment().startOf('hour').fromNow();       // an hour ago

日历时间:

moment().subtract(10, 'days').calendar(); // 03/10/2017
moment().subtract(6, 'days').calendar();  // Last Tuesday at 11:54 AM
moment().subtract(3, 'days').calendar();  // Last Friday at 11:54 AM
moment().subtract(1, 'days').calendar();  // Yesterday at 11:54 AM
moment().calendar();                      // Today at 11:54 AM
moment().add(1, 'days').calendar();       // Tomorrow at 11:54 AM
moment().add(3, 'days').calendar();       // Thursday at 11:54 AM
moment().add(10, 'days').calendar();      // 03/30/2017

猜你喜欢

转载自blog.csdn.net/qq_42112846/article/details/85223068
今日推荐