Adatum
Янв
30
2013

Работаем с датой и временем — Moment.js

moments

Вы просто ненавидите работать с датой в 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/
Перевел: Сергоманов Дмитрий
Правила перепечатки

Похожие статьи

Оставить комментарий

  • Отличная статья !!!