dt.add
Cкладывает две даты, заданные в виде строки либо как число секунд.
d1 + abs(secondsOf(d1) - secondsOf(d2))
, где abs
— модуль числа (всегда положительное значение), а secondsOf
— количество секунд, прошедших с 1 января 1970 года (даты до этого момента представляются отрицательными числами).Сигнатура: dt.add(d1 int|string, d2 int|string) string
Аргументы:
d1
– строка, представляющая собой дату в одном из допустимых форматов, или целое число, соответствующее количеству секунд.d2
– аналогично первому аргументу.Возвращаемое значение: Возвращает новую дату и время в виде строки.
Пример использования:
$d = dt.add("2022-01-01 12:30:00", 59) // $d содержит строку "2022-01-01 12:30:59"
$d = dt.add(3600, "2022-01-01 12:30:00") // $d содержит строку "2022-01-01 13:30:00"
$d = dt.add("2022-01-02 02:00:00", "2022-01-01 01:00:00") // $d содержит строку "2022-01-03 03:00:00"
dt.sub
Вычисляет разность между двумя датами, заданными в виде строки или количества секунд.
Сигнатура: dt.sub(d1 int|string, d2 int|string) int|string
Аргументы:
d1
– строка, представляющая собой дату в одном из допустимых форматов, или целое число, соответствующее количеству секунд.d2
– аналогично первому аргументу.Возвращаемое значение: Dозвращает новую дату и время в виде строки либо число секунд — разность дат.
Пример использования:
$d = dt.sub(100, 50) // $d содержит 50
$d = dt.sub("2022-01-01 12:30:00", 3600) // $d содержит строку "2022-01-01 11:30:00"
$d = dt.sub(3600, "2022-01-01 12:30:00") // Такой вызов недопустим и приведёт к остановке программы
$d = dt.sub("2022-01-01 01:00:00", "2022-01-01 00:00:00") // $d содержит 3600
dt.format
Форматирует дату согласно заданному формату.
Сигнатура: dt.format(dt string|int|dt.Time, format string) -> string
Аргументы:
dt
— дата в виде строки, целого числа (секунды с 1 января 1970 года) или объекта типа dt.Time
.format
— строка, определяющая формат вывода даты и времени.Возвращаемое значение: Строка с датой, отформатированной в соответствии с указанным шаблоном.
Пример использования:
$dt = dt.format('2022-12-20 08:34:05.123', 'y.MM.dd h-mm-ss.SSSSSS') // "22.12.20 8-34-05.123000"
$dt = dt.format('16:30:47', '\Hour\s \an\d \minute\s: hh/mm A') // "Hours and minutes: 04/30 PM"
Допустимые параметры форматирования:
Символ в строке format |
Описание | Пример значения |
---|---|---|
Год | ||
y |
Полное числовое представление года (не менее 4 цифр) | 1999, 2012 |
yy |
Два последних числа года, с дополнением нулями | 99, 05 |
Месяц | ||
M |
Порядковый номер месяца без ведущего нуля | 1-12 |
MM |
Порядковый номер месяца с ведущим нулем | 01-12 |
День | ||
d |
День месяца без ведущего нуля | 1-31 |
dd |
День месяца с ведущим нулем | 01-31 |
Час | ||
h |
Часы в 12-часовом формате без ведущего нуля | 1-12 |
hh |
Часы в 12-часовом формате с ведущим нулем | 01-12 |
H |
Часы в 24-часовом формате без ведущего нуля | 0-23 |
HH |
Часы в 24-часовом формате с ведущим нулем | 00-23 |
a |
am или pm в нижнем регистре | am, pm |
A |
AM или PM в верхнем регистре | AM, PM |
Минуты | ||
m |
Минуты без ведущего нуля | 0-59 |
mm |
Минуты с ведущим нулем | 00-59 |
Секунды | ||
s |
Секунды без ведущего нуля | 0-59 |
ss |
Секунды с ведущим нулем | 00-59 |
Милли/Микро/Нано секунды | ||
S, SS, SSS, ..., SSSSSSSSS |
Дробная часть секунды, усеченная до количества цифр | 1, 12, 123, 123456 |
Часовой пояс | ||
Z |
Название часового пояса | UTC, PDT, BST |
z |
Смещение часового пояса в часах | +02, -01 |
zz |
Смещение часового пояса без двоеточия между часами и минутами | +0200, -0100 |
ZZ |
Смещение часового пояса с двоеточием между часами и минутами | +02:00, -01:00 |
zzz |
Смещение часового пояса без двоеточия между часами, минутами и секундами | +020000, -010000 |
ZZZ |
Смещение часового пояса с двоеточием между часами, минутами и секундами | +02:00:00, -01:00:00 |
dt.year
Возвращает числовое значение года из переданной даты.
Сигнатура: dt.year(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число, представляющее год, состоящий минимум из четырёх цифр. Если в аргументе dt
указано только время (без даты), функция считает датой 1 января 1970 года. В этом случае результат будет равен 1970.
Пример использования:
$dt = dt.year('2022-12-20 08:34:05') // $dt будет содержать число 2022
$dt = dt.year('08:34:05') // $dt будет содержать число 1970
dt.month
Возвращает порядковый номер месяца из переданной даты.
Сигнатура: dt.month(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число от 1 до 12, представляющее месяц в дате dt
. Если в аргументе dt
указано только время (без даты), функция считает датой 1 января 1970 года. В этом случае результат будет равен 1.
Пример использования:
$dt = dt.month('2022-12-20 08:34:05') // $dt будет содержать число 12
$dt = dt.month('08:34:05') // $dt будет содержать число 1
dt.day
Возвращает номер дня месяца из переданной даты.
Сигнатура: dt.day(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число от 1 до 31, представляющее день месяца в дате dt
. Если в dt
передано только время, используется дата по умолчанию — 1 января 1970 года. В этом случае результат будет равен 1.
Пример использования:
$dt = dt.day('2022-12-20 08:34:05') // $dt будет содержать число 20
$dt = dt.day('08:34:05') // $dt будет содержать число 1
dt.hour
Возвращает часы из переданной даты в 24-часовом формате.
Сигнатура: dt.hour(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число от 0 до 23, представляющее часы в дате dt
. Если в dt
указана только дата без времени, возвращается 0.
Пример использования:
// Допустим сейчас 2023-01-01
$dt = dt.hour('2022-12-20 08:34:05') // $dt будет содержать число 8
$dt = dt.hour('2022-12-20') // $dt будет содержать число 0
dt.minute
Возвращает минуты из переданной даты.
Сигнатура: dt.minute(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число от 0 до 59, представляющее минуты в дате dt
. Если в dt
указана только дата без времени, возвращается 0.
Пример использования:
// Допустим сейчас 2023-01-01
$dt = dt.minute('2022-12-20 08:34:05') // $dt будет содержать число 34
$dt = dt.minute('2022-12-20') // $dt будет содержать число 0
dt.second
Возвращает секунды из переданной даты.
Сигнатура: dt.second(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число от 0 до 59, представляющее секунды в дате dt
. Если в dt
указана только дата без времени, возвращается 0.
Пример использования:
// Допустим сейчас 2023-01-01
$dt = dt.second('2022-12-20 08:34:05') // $dt будет содержать число 5
$dt = dt.second('2022-12-20') // $dt будет содержать число 0
dt.weekday
Возвращает порядковый номер дня недели из переданной даты.
Сигнатура: dt.weekday(dt int|string) int
Аргументы: dt
— дата, заданная строкой или числом секунд.
Возвращаемое значение: Целое число от 0 до 6, где 0 — понедельник, 6 — воскресенье. Если в dt
указано только время, используется дата по умолчанию — 1 января 1970 года. В этом случае результат будет равен 3 (четверг).
Пример использования:
$dt = dt.weekday('2022-12-20 08:34:05') // $dt будет содержать число 1
$dt = dt.weekday('08:34:05') // $dt будет содержать число 3
date.nearFuture
Возвращает ближайшую дату в будущем относительно текущей, соответствующую указанному дню месяца.
Сигнатура: date.nearFuture(day int) string
Аргументы: day
— число, обозначающее день месяца, к которому нужно найти ближайшую будущую дату.
Возвращаемое значение: Строка, представляющая ближайшую дату в будущем с указанным днем месяца.
Пример использования:
// Допустим сейчас 2022-12-20
$d = date.nearFuture(25) // $d содержит 2022-12-25
$d = date.nearFuture(10) // $d содержит 2023-01-10
date.nearPast
Возвращает ближайшую дату в прошлом относительно текущей, соответствующую указанному дню месяца.
Сигнатура: date.nearPast(day int) string
Аргументы: day
— число, обозначающее день месяца, к которому нужно найти ближайшую прошедшую дату.
Возвращаемое значение: Строка, представляющая ближайшую дату в прошлом с указанным днем месяца.
Пример использования:
// Например сейчас 2022-12-20
$d = date.nearPast(25) // $d содержит 2022-11-25
$d = date.nearPast(10) // $d содержит 2023-12-10
date.future
Возвращает дату в следующем месяце, соответствующую указанному дню.
Сигнатура: date.future(day int) string
Аргументы: day
— число, обозначающее день месяца, к которому нужно получить дату в следующем месяце.
Возвращаемое значение: Строка, представляющая дату в будущем с указанным днем месяца.
Пример использования:
// Допустим сейчас 2022-12-20
$d = date.future(25) // $d содержит 2023-01-25
$d = date.future(10) // $d содержит 2023-01-10
date.past
Возвращает дату в прошлом месяце, соответствующую указанному дню.
Сигнатура: date.past(day int) string
Аргументы: day
— число, обозначающее день месяца, к которому нужно получить дату в прошлом месяце.
Возвращаемое значение: Строка, представляющая дату в прошлом с указанным днем месяца.
Пример использования:
// Допустим сейчас 2022-12-20
$d = date.past(25) // $d содержит 2022-11-25
$d = date.past(10) // $d содержит 2022-11-10
time.nearFuture
Возвращает ближайшее время в будущем относительно текущего, соответствующее указанному количеству минут.
Сигнатура: time.nearFuture(minute int) string
Аргументы: minute
— количество минут, к которому нужно найти ближайшее будущее время.
Возвращаемое значение: Строка, представляющая ближайшее время в будущем с указанным числом минут.
Пример использования:
// Допустим сейчас 23:30:00
$t = time.nearFuture(45) // $t содержит 23:45:00
$t = time.nearFuture(15) // $t содержит 00:15:00
time.nearPast
Возвращает ближайшее время в прошлом относительно текущего, соответствующее указанному количеству минут.
Сигнатура: time.nearPast(minute int) string
Аргументы: minute
— количество минут, к которому нужно найти ближайшее прошедшее время.
Возвращаемое значение: Строка, представляющая ближайшее время в прошлом с указанным числом минут.
Пример использования:
// Допустим сейчас 23:30:00
$t = time.nearPast(45) // $t содержит 22:45:00
$t = time.nearPast(15) // $t содержит 23:15:00
time.future
Возвращает время в следующем часе, соответствующее указанному количеству минут.
Сигнатура: time.future(minute int) string
Аргументы: minute
— количество минут, к которому нужно получить время в следующем часе.
Возвращаемое значение: Строка, представляющая время в будущем с указанным числом минут.
Пример использования:
// Допустим сейчас 23:30:00
$t = time.future(45) // $t содержит 00:45:00
$t = time.future(15) // $t содержит 00:15:00
time.past
Возвращает время в прошедшем часе, соответствующее указанному количеству минут.
Сигнатура: time.past(minute int) string
Аргументы: minute
— количество минут, к которому нужно получить время в предыдущем часе.
Возвращаемое значение: Строка, представляющая время в прошлом с указанным числом минут.
Пример использования:
// Допустим сейчас 23:30:00
$t = time.past(45) // $t содержит 22:45:00
$t = time.past(15) // $t содержит 22:15:00