Spec-Zone.ru › D3.js 3

Интервалы времени

Справочник API ▸ Время ▸ Интервалы времени

Интервалы времени нерегулярны! Например, в минуте 60 секунд, но в сутках 24 часа. Более того, некоторые дни из-за перевода времени на летнее содержат 23 или 25 часов, а стандартный григорианский календарь использует месяцы различной длительности. И, конечно, есть високосные годы!

Для упрощения манипулирования интервалами времени и итерации по ним D3 предоставляет несколько утилит времени помимо шкалы масштаба времени и форматирования. Утилиты поддерживают как локальное, так и UTC-время. Локальное время определяется исполняемой средой JavaScript браузера; поддержка произвольных часовых поясов была бы полезна, но требует доступа к файлам Olson zoneinfo.

Интервал

d3.time.interval

Возвращает указанный интервал. Поддерживаются следующие интервалы:

  • d3.time.second
  • d3.time.minute
  • d3.time.hour
  • d3.time.day
  • d3.time.week (псевдоним для d3.time.sunday)
  • d3.time.sunday
  • d3.time.monday
  • d3.time.tuesday
  • d3.time.wednesday
  • d3.time.thursday
  • d3.time.friday
  • d3.time.saturday
  • d3.time.month
  • d3.time.year
interval(date)

Псевдоним для interval.floor(date). Например, d3.time.day(new Date()) возвращает полночь (00:00) текущего дня в локальном времени.

interval.floor(date)

Округляет указанную дату вниз, возвращая последний интервал времени до или равный date. Например, d3.time.day.floor(new Date()) возвращает полночь (00:00) текущего дня в локальном времени.

interval.round(date)

Округляет указанную дату вверх или вниз, возвращая ближайший интервал времени к date. Например, d3.time.day.round(new Date()) возвращает полночь (00:00) текущего дня, если она находится до или на момент полудня, и полночь следующего дня, если она после полудня.

interval.ceil(date)

Округляет указанную дату вверх, возвращая самый ранний интервал времени после или равный date. Например, d3.time.day.ceil(new Date()) возвращает полночь (00:00) следующего дня в локальном времени (если только вы не выполняете этот код ровно в полночь, в этом случае он возвращает текущее время).

interval.range(start, stop[, step])

Возвращает каждый интервал времени после или равный start и до stop. Если step указан, то будет возвращен каждый step-й интервал, основанный на номере интервала (например, день месяца для d3.time.day). Например, step, равный 2, вернет 1-е, 3-е, 5-е и т.д. числа месяца с помощью d3.time.day.

interval.offset(date, step)

Возвращает новую дату, равную date плюс step интервалов. Если step отрицательный, возвращаемая дата будет до указанной date; если step равен нулю, возвращается копия указанной date. Этот метод не округляет указанную date до интервала. Например, если сейчас 17:34, то d3.time.day.offset(new Date(), 1) возвращает 17:34 завтрашнего дня (даже если перевод времени на летнее время изменится!).

interval.utc

Возвращает соответствующий интервал времени в UTC, а не в локальном времени. Например, d3.time.day.range(start, stop) возвращает локальные дни между start и stop, а d3.time.day.utc.range(start, stop) возвращает UTC-дни между start и stop.

Интервалы

d3.time.second

Секунды (например, 01:23:45.0000 AM). Всегда 1000 миллисекунд.

d3.time.minute

Минуты (например, 01:02:00 AM). ECMAScript явным образом игнорирует високосные секунды, поэтому минуты всегда длительностью 60 секунд (6e4 миллисекунд).

d3.time.hour

Часы (например, 01:00 AM). 60 минут длительностью (36e5 миллисекунд). Обратите внимание, что перемещение времени на один час может возвратить тот же номер часа или пропустить номер часа из-за перевода времени на летнее время.

d3.time.day

Дни (например, 7 февраля 2012 года в 00:00). Большинство дней длится 24 часа (864e5 миллисекунд); однако из-за перевода времени на летнее время день может длиться 23 или 25 часов.

d3.time.week

Псевдоним для d3.time.sunday. Неделя всегда длится 7 дней, но продолжительность составляет от 167 до 169 часов в зависимости от перевода времени на летнее время.

d3.time.sunday

Недели, начинающиеся с воскресенья (например, 5 февраля 2012 года в 00:00).

d3.time.monday

Недели, начинающиеся с понедельника (например, 6 февраля 2012 года в 00:00).

d3.time.tuesday

Недели, начинающиеся со вторника (например, 7 февраля 2012 года в 00:00).

d3.time.wednesday

Недели, начинающиеся со среды (например, 8 февраля 2012 года в 00:00).

d3.time.thursday

Недели, начинающиеся с четверга (например, 9 февраля 2012 года в 00:00).

d3.time.friday

Недели, начинающиеся с пятницы (например, 10 февраля 2012 года в 00:00).

d3.time.saturday

Недели, начинающиеся с субботы (например, 11 февраля 2012 года в 00:00).

d3.time.month

Месяцы (например, 1 февраля 2012 года в 00:00). Длительность составляет от 28 до 31 дня.

d3.time.year

Годы (например, 1 января 2012 года в 00:00). Обычные годы длится 365 дней, високосные — 366.

Псевдонимы

d3.time.seconds(start, stop[, step])

Псевдоним для d3.time.second.range. Возвращает границы секунд (например, 01:23:45 AM) после или равные start и до stop. Если step указан, то будет возвращен каждый step-й второй, основанный на второй минуте. Например, step, равный 15, вернет 9:01:45 PM, 9:02:00 PM, 9:02:15 PM и т. д.

d3.time.minutes(start, stop[, step])

Псевдоним для d3.time.minute.range. Возвращает границы минут (например, 01:23 AM) после или равные start и до stop. Если step указан, то будет возвращена каждая step-я минута, основанная на минуте часа. Например, step, равный 15, вернет 9:45 PM, 10:00 PM, 10:15 PM и т. д.

d3.time.hours(start, stop[, step])

Псевдоним для d3.time.hour.range. Возвращает границы часов (например, 01 AM) после или равные start и до stop. Если step указан, то будет возвращен каждый step-й час, основанный на часе дня. Например, step, равный 3, вернет 9 PM, 12 AM, 3 AM и т. д.

d3.time.days(start, stop[, step])

Псевдоним для d3.time.day.range. Возвращает границы дней (полночь) после или равные start и до stop. Если step указан, то будет возвращен каждый step-й день, основанный на дне месяца. Например, step, равный 2, вернет 1-е, 3-е, 5-е и т.д. числа месяца.

d3.time.weeks(start, stop[, step])
d3.time.sundays(start, stop[, step])
d3.time.mondays(start, stop[, step])
d3.time.tuesdays(start, stop[, step])
d3.time.wednesdays(start, stop[, step])
d3.time.thursdays(start, stop[, step])
d3.time.fridays(start, stop[, step])
d3.time.saturdays(start, stop[, step])

Псевдонимы для d3.time.interval.range и т. д. Возвращает границы недель (полночь воскресенья) после или равные start и до stop. Если step указан, то будет возвращена каждая step-я неделя, основанная на неделе года. Например, step, равный 4, вернет 2 января, 30 января, 27 февраля и т. д.

d3.time.months(start, stop[, step])

Псевдоним для d3.time.month.range. Возвращает границы месяцев (например, 01 января) после или равные start и до stop. Если step указан, то будет возвращен каждый step-й месяц, основанный на месяце года. Например, step, равный 3, вернет январь, апрель, июль и т. д.

d3.time.years(start, stop[, step])

Псевдоним для d3.time.year.range. Возвращает границы годов (полночь 1 января) после или равные start и до stop. Если step указан, то будет возвращен каждый step-й год. Например, step, равный 5, вернет 2010, 2015, 2020 и т. д.

Подсчет

d3.time.dayOfYear(date)

Возвращает номер дня для заданной даты. Первый день года (1 января) всегда является 0-м днем. В отличие от директивы d3.time.format's %j, dayOfYear имеет нулевую базу, а не единичную.

d3.time.weekOfYear(date)
d3.time.sundayOfYear(date)
d3.time.mondayOfYear(date)
d3.time.tuesdayOfYear(date)
d3.time.wednesdayOfYear(date)
d3.time.thursdayOfYear(date)
d3.time.fridayOfYear(date)
d3.time.saturdayOfYear(date)

Возвращает номер недели для заданной даты, где недели начинаются с указанного day. Первый день года (1 января) всегда является 0-й неделей. weekOfYear — псевдоним для sundayOfYear, который эквивалентен директиве d3.time.format's %U. mondayOfYear эквивалентен директиве d3.time.format's %W.

© 2010–2016 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Intervals.md

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API