30
2013
Работаем с датой и временем — Moment.js
Вы просто ненавидите работать с датой в JavaScript и функцией времени? Вы видели, сколько кода требуется, чтобы просто показать, сколько времени прошло с определенного момента? К счастью для вас, есть небольшая библиотека JavaScript под называнием moment.js.
Несколько вещей, которые вы можете делать с ней.
Первая остановка, чтобы создать новый объект момента. Это делается путем вызова глобального 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]);
Обратите внимание, что, как и в JavaScript месяца начинаются с нуля.
Работа с временем
// 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
Работа с датами
// 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 () определяет разницу во времени. Аавтоматически масштабирует период и возвращает дату от нескольких секунд до нескольких лет.
Длительность
// 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
Этот метод миллисекундах создает новый объект. С помощью его humanize() метод, мы получаем человека читаемым версии.
Я надеюсь, что этот краткий обзор дал вам хорошее представление о том, что возможно с moment.js. Если вы хотите узнать больше, следуйте проекта по GitHub и прочитать примеры и документация на своей домашней странице.
Источник урока: http://tutorialzine.com/2012/08/quick-tip-handle-date-and-time-like-a-boss-with-moment-js/
Перевел: Сергоманов Дмитрий
Правила перепечатки