当前位置主页 > 资料库 > 前端教程 > 超强日期时间格式化插件moment.js

超强日期时间格式化插件moment.js

2014-12-22

你是否不喜欢原生javascript的日期时间函数?在这个教程里,我们将带你认识一个超强的javascript日期时间库moment.js。

你能够使用moment.js来做什么?

首先,你可以创建一个新的moment 对象。它通过全局的moment() 方法来完成。如果你不设置参数,它将使用当前的时间。另外,你可以使用时间戳、一个数组或格式化字符串来解析一个日期时间。

创建moment 对象

 // Create a new moment object
var now = moment();

// Create a moment in the past, using a string date
var m = moment("April 1st, 2005", "MMM-DD-YYYY");

// Create a new moment using an array
var m = moment([2005, 3, 1]);                               
                            

格式化时间

// What time is it?
console.log(moment().format('HH:mm:ss')); // 16:13:11

// What day of the week is it?
var day = moment().day(); // 5
console.log( moment.weekdays[day] ); // Friday

// What is the current month name?
console.log( moment.months[moment().month()] ); // August

// What time is it in London? (time zone: UTC)
console.log( moment.utc().format('HH:mm:ss') ); // 13:23:41

// What time is it in Japan? (time zone: UTC+9)
console.log( moment.utc().add('hours',9).format('HH:mm:ss') ); // 22:23:41                                
                            

如上所示, format方法用于将moment 对象转换为一个可读的时间格式。这里有很多选项可以选择,但是要比PHP的date函数简单得多。

格式化日期

// How old are you?
var m = moment("Mar 26th, 1989", "MMM-DD-YYYY");

console.log('You are '+m.fromNow() + ' old'); // You are 23 years ago old

// Oops. We better leave the "ago" part out:
console.log('You are '+m.fromNow(true) + ' old'); // You are 23 years old

// When will the next world cup be?
console.log( moment('June 12th, 2014','MMM DD YYYY').fromNow() ); // in 2 years

// What will be the date 7 days from now?
console.log( moment().add('days',7).format('MMMM Do, YYYY') ); // September 7th, 2012                              
                            

fromNow() 对于区分两个日期时间差异非常有用。它自动将返回的秒数转换为年。

Time duration

// Find the duration between two dates
var breakfast = moment('8:32','HH:mm');
var lunch = moment('12:52','HH:mm');
console.log( moment.duration(lunch - breakfast).humanize() + ' between meals' ) // 4 hours between meals                               
                            

duration method方法使用毫秒为单位插件一个新的对象。通过使用humanize()方法,我们能够获取一个通俗的版本。

Previous:
上一篇:使用jQuery和css3制作逼真的数字时钟效果
Next:
下一篇:2015年你必须学习的编程语言和前端框架
返回顶部