date and time PHP functions
Date and Time
- date
- idate
- jdtounix
- jewishtojd
- mktime
- strftime
- strptime
- strtotime
- unixtojd
Наиболее используемое
- unserialize
- preg_match
- json_decode
- strlen
- preg_replace
- dns_get_record
- json_encode
- date
- preg_match_all
- serialize
deenesfritjaptrutrzh
Execute and test PHP functions for date and time manipulation.
date
Возвращает строку, отформатированную в соответствии с указанным шаблоном $format. Используется метка времени, заданная аргументом $timestamp, или текущее системное время, если timestamp не задан. Таким образом, $timestamp является необязательным и по умолчанию равен значению, возвращаемому функцией time().
idate
Преобразует текущую дату и время в целое число в соответствии со строкой форматирования $format. Если аргумент $timestamp задан, расчет будет произведен для этой временной метки, если нет — будет использовано локальное время. Другими словами, $timestamp — необязательный аргумент и по умолчанию равен значению time().
В отличие от функции date(), idate() принимает только один символ в аргументе $format.
jdtounix
Эта функция вернет метку времени Unix соответствующую номеру дня в Юлианском летоисчислении, заданному в $jday либо FALSE, если $jday лежит за пределами эпохи Unix (годы по Григорианскому календарю между 1970 и 2037 или 2440588
jewishtojd
Несмотря на то, что функция может обрабатывать даты вплоть до 1-го года (3761 до н.э.), практически преобразование для таких ранних дат не имеет смысла. Иудейский календарь использовался несколько тысяч лет, но давние времена не было формулы для расчета начала месяца. Новый месяц начинался с того момента как впервые можно было наблюдать новую луну.
mktime
Функция возвращает метку времени Unix, соответствующую дате и времени, заданным аргументами. Метка времени — это целое число, равное разнице в секундах между заданной датой/временем и началом Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT).
strftime
Форматирует дату/время с учетом текущих настроек локали. Названия месяцев, дней недели и других языко-зависимых строк будут взяты в соответствии с текущими настройками локали, установленной с помощью функции setlocale().
strptime
strptime() возвращает массив с данными разбора строки $date, либо FALSE в случае ошибки.
strtotime
Первым параметром функции должна быть строка с датой на английском языке, которая будет преобразована в метку времени Unix (количество секунд, прошедших с 1 января 1970 г. 00:00:00 UTC) относительно метки времени, переданной в $now, или текущего времени, если аргумент $now опущен.
unixtojd
Возвращает Юлианский день для заданной метки времени Unix $timestamp (количество секунд с 1. 1.1970) либо для текущего времени, если аргумент $timestamp не задан.
waDatetime — Документация Webasyst
-
date
Возвращает строковое представление даты в соответствии с указанным форматом.
-
format
Возвращает удобное для чтения строковое представление даты.
-
getDefaultTimeZone
Возвращает используемую по умолчанию временную зону с помощью PHP-функции
date_default_timezone_get
. -
getFormat
Возвращает стандартное представление форматов для PHP-функции
date
, соответствующих форматам, использующимся во фреймворке. -
getFormatJS
Возвращает стандартное представление форматов даты/времени для использования в JavaScript-коде, соответствующих форматам, использующимся во фреймворке.
-
getTimeZones
Возвращает список доступных временных зон с локализованными наименованиями.
-
parse
Возвращает стандартное для PHP строковое представление времени, указанного в одном из форматов, которые используются во фреймворке.
-
getWeekdayNames
Возвращает названия дней недели.
-
getMonthNames
Возвращает названия месяцев.
public static function
date ($format, $time = null, $timezone = null, $locale = null)Возвращает строковое представление даты в соответствии с указанным форматом.
Параметры
-
$format
Формат представления даты. Допускается использовать символы формата, предусмотренные для PHP-функции
date
. Для отображения наименования месяца в нижнем регистре необходимо использовать символ f. -
Метка времени. Если не указано, используется текущая метка времени.
-
$timezone
Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.
-
$locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
waDateTime::date('j f Y года', '06-11-2013')
Результат
6 ноября 2013 года
public static function
format ($format, $time = null, $timezone = null, $locale = null)Возвращает удобное для чтения строковое представление даты.
Параметры
-
$format
Формат представления даты/времени. Допускается использовать следующие обозначения формата:
humandatetime
: подставляет слова «вчера», «сегодня», «завтра» вместо соответствующих дат относительно текущей даты пользователяhumandate
: возвращает дату в форматеd f Y
, предназначенном для методаdate
(перечисленные далее форматы предназначены для использования этим же методом)date
: возвращает дату в форматеY-m-d
time
: возвращает дату в форматеH:i
fulltime
: возвращает дату в форматеH:i:s
datetime
: возвращает дату в форматеY-m-d H:i
fulldatetime
: возвращает дату в форматеY-m-d H:i:s
timestamp
: возвращает дату в форматеU
-
$time
Метка времени. Если не указано, используется текущая метка времени.
-
$timezone
Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.
-
$locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
waDateTime::format('humandatetime')
Результат
Сегодня 17:11
public static function
getDefaultTimeZone()Возвращает временную зону, используемую по умолчанию, с помощью PHP-функции
.
Пример
waDateTime::getDefaultTimeZone()
Результат
Europe/Moscow
public static function
getFormat ($format, $locale = null)Возвращает стандартное представление форматов для PHP-функции date
, соответствующих форматам, использующимся во фреймворке.
Параметры
-
$format
Строковый идентификатор формата отображения времени, использующегося во фреймворке. Допускается использовать ключи подмассива
, содержащегося в конфигурационном файле локали в директорииwa-system/locale/data/
, константы PHP-классаDateTime
, строки формата, допустимые для PHP-функцииdate
, либо один из идентификаторов, соответствующих предопределенным строкам формата отображения времени, описанным для метода format. -
$locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
waDateTime::getFormat ('humandate', 'en_US')
Результат
F j, Y
public static function
getFormatJS ($format, $locale = null)Возвращает стандартное представление форматов даты/времени для использования в JavaScript-коде, соответствующих форматам, использующимся во фреймворке.
Параметры
-
$format
Строковый идентификатор формата, описанный для параметра
$format
метода getFormat. -
$locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
waDateTime::getFormatJS ('humandate', 'en_US')
Результат
MM d, yy
public static function
getTimeZones()Возвращает список доступных временных зон с локализованными наименованиями.
Пример
waDateTime::getTimeZones()
Результат
[ [Pacific/Apia] => −11 Апия, Миндуэй, Ниуэ, Паго-Паго [Pacific/Fakaofo] => −10 Факаофо, Гонолулу, Джонсон, Раротонга, Таити [America/Adak] => −09 Адак [Pacific/Gambier] => −09 Остров Гамбье, Маркизы [America/Anchorage] => −08 Анкоридж, Джуно, Ном, Sitka, Якутат [Pacific/Pitcairn] => −08 Питкэрн ... [Asia/Anadyr] => +12 Анадырь, Камчатка, Магадан [Pacific/Auckland] => +12 Окленд, Чатэм, Фиджи, Фунафути, Кваджалейн [Pacific/Majuro] => +12 Маджуро, Науру, Тарава, Уэйк, Уоллис [Pacific/Enderbury] => +13 Эндербери, Тонгатапу [Pacific/Kiritimati] => +14 Киритимати ]
public static function
parse ($format, $string, $timezone = null, $locale = null)Возвращает стандартное для PHP строковое представление времени, указанного в одном из форматов, которые используются во фреймворке.
Параметры
-
$format
Строковый идентификатор формата, описанный для метода format, кроме
humandatetime
. -
$string
Строковое представление времени, отформатированное в соответствии со строкой формата, указанной в параметре
$format
. -
$timezone
Строковый идентификатор временной зоны. Если не указано, используется автоматическое определение временной зоны.
-
$locale
Строковый идентификатор локали. Если не указано, используется автоматическое определение локали.
Пример
waDateTime::parse('humandate', 'November 8, 2013', null, 'en_US')
Результат
2013-11-08
public static function
getWeekdayNames ($case = ‘ucfirst’, $length = ‘full’)Возвращает названия дней недели.
Параметры
Пример
waDateTime::getWeekdayNames()
Результат
[ 1 => 'Понедельник', 2 => 'Вторник', 3 => 'Среда', 4 => 'Четверг', 5 => 'Пятница', 6 => 'Суббота', 7 => 'Воскресенье', ]
Пример
waDateTime::getWeekdayNames('lower', false)
Результат
[ 1 => 'пн', 2 => 'вт', 3 => 'ср', 4 => 'чт', 5 => 'пт', 6 => 'сб', 7 => 'вс', ]
public static function
getMonthNames ($n = 1, $case = ‘ucfirst’)Возвращает названия месяцев.
Параметры
Пример
waDateTime::getMonthNames()
Результат
[ 1 => 'Январь', 2 => 'Февраль', 3 => 'Март', 4 => 'Апрель', 5 => 'Май', 6 => 'Июнь', 7 => 'Июль', 8 => 'Август', 9 => 'Сентябрь', 10 => 'Октябрь', 11 => 'Ноябрь', 12 => 'Декабрь', ]
Пример
waDateTime::getMonthNames(2, 'lower')
Результат
[ 1 => 'января', 2 => 'февраля', 3 => 'марта', 4 => 'апреля', 5 => 'мая', 6 => 'июня', 7 => 'июля', 8 => 'августа', 9 => 'сентября', 10 => 'октября', 11 => 'ноября', 12 => 'декабря', ]
Преобразование в строку: date() — Взлом с помощью PHP
строка дата ( строка формат [ метка времени int ])
Какими бы простыми ни были временные метки Unix в сценариях, они не очень хороши для конечных пользователей — мало кто отслеживает свои даты, используя количество секунд!
Как уже упоминалось, пользователям нравится иметь свои даты во всевозможных форматах, поэтому PHP дает вам возможность преобразовывать временные метки в строки несколькими способами, используя дата () функция.
Date() принимает два параметра, второй из которых является необязательным, как и strtotime() . Первый параметр — это специальная строка, содержащая коды форматирования того, как вы хотите преобразовать метку времени. Второй параметр — это временная метка, которую вы хотите преобразовать. Если вы ее не укажете, PHP предполагает, что вы хотите использовать текущее время.
Первый параметр является ключевым: это строка букв из предопределенного списка опций. Вы можете использовать другие символы в строке, и они копируются непосредственно в отформатированную дату. Если вы пытаетесь поместить слова в формат даты, которые вы не хотите преобразовывать в их эквивалент даты, вам нужно экранировать их с помощью обратной косой черты \ . Чтобы сделать ситуацию еще более запутанной, если ваша экранированная буква является существующей escape-последовательностью, вам нужно снова экранировать ее! Если это звучит запутанно, не беспокойтесь — мы рассмотрим примеры.
Вот полный список символов формата даты. Обратите внимание, что они чувствительны к регистру!
Символ формата | Описание | Пример |
а | Нижний регистр am/pm | до или после полудня |
А | Заглавные буквы am/pm | До или после полудня |
Б | Swatch Интернет-время | от 000 до 999 |
с | Дата, время и часовой пояс ISO 8601 | 2004-06-18T09:26:55+01:00 |
д | 2-значный день месяца, ведущие нули | с 01 по 31 |
Д | Строка дня, три буквы | пн, чт, сб |
Ф | Строка месяца, полная | январь, август |
г | 12-часовой формат часов, без начальных нулей | от 1 до 12 |
г | 24-часовой формат часов, без начальных нулей | от 0 до 23 |
час | 12-часовой формат часов, ведущие нули | с 01 по 12 |
ЧАС | 24-часовой формат часов, ведущие нули | с 00 до 23 |
я | Минуты с ведущими нулями | от 00 до 59 |
я | Активно ли летнее время? | 1 если да, 0 если нет |
Дж | День месяца, без лидирующих нулей | от 1 до 31 |
л | Дневная строка, полная | Понедельник суббота |
л | Это високосный год? | 1 если да, 0 если нет |
м | Числовой месяц, ведущие нули | с 01 по 12 |
М | Короткая строка месяца | янв, авг |
н | Числовой месяц, без начальных нулей | от 1 до 12 |
О | Отличие от Гринвича | 200 |
р | Дата в формате RFC-822 | Сб, 22 дек. 1979 17:30 +0000 |
с | Секунды с ведущими нулями | от 00 до 59 |
С | Английский порядковый суффикс для номера дня | ул, й, рд или й |
т | Количество дней в месяце | от 28 до 31 |
Т | Часовой пояс для сервера | Гринвичское время, центральноевропейское время, восточноевропейское время |
U | Отметка времени Unix | 1056150334 |
ж | Числовой день недели | 0 (воскресенье), 6 (суббота) |
Вт | ISO-8601 номер недели года | 30 (30-я неделя года) |
у | Двузначное представление года | 97, 02 |
Д | Четырехзначное представление года | 1997, 2002 |
г | День года | от 0 до 366 |
Z | Смещение часового пояса в секундах | от -43200 до 43200 |
Как видите, при преобразовании меток времени в даты у вас есть большой выбор. Вот несколько примеров использования символов формата:
Первая строка является самой основной и выводит текущее время в 24-часовом формате. Вторая строка представляет собой немного более сложное смешивание вывода date() с текстовой строкой для получения естественного выражения.
Третья строка очень проста — она просто печатает текущий год. Но в четвертой строке у нас есть более сложный пример, который выводит дату в формате «22 октября 2003 года». Обратите внимание, что у нас есть слово «из» среди формата даты, и оно было плавно передано на вывод вместо преобразования. Причина этого в том, что строчные буквы O и строчные буквы F не используются для форматирования в функции даты (хотя это может быть изменено в будущем), поэтому они просто копируются прямо в вывод.
В пятой строке вы можете видеть, что наша функция даты встроена между двумя другими строками, что делает вывод особенно красивым. Можно встроить строки в формат даты, но в итоге получится пятая строка!
В шестой строке вы можете видеть, что те же строки из четвертой строки теперь находятся внутри формата даты. Большинство букв там функционируют как символы формата даты, поэтому они были экранированы: \M\y и т. д. Нижний регистр B, нижний регистр O и нижний регистр E не имеют значения формата даты, поэтому они не экранированы. Нижняя буква R, строчная буква T и строчная буква N имеют особое значение как сами управляющие последовательности (возврат каретки, табуляция и новая строка), что означает, что они должны быть экранированы дважды. Обратите внимание, что перед каждой escape-последовательностью стоит две обратные косые черты, а не одна — это ключ. Одна обратная косая черта не позволяет PHP читать их как символы формата даты, а другая — запрещает PHP читать их как escape-последовательности.
Вы можете многое сделать с датами, поэтому я настоятельно рекомендую вам просто поэкспериментировать с различными форматами, чтобы увидеть, что вы можете сделать с различными комбинациями.
Хотите изучить PHP 7?
Hacking with PHP полностью обновлен для PHP 7 и теперь доступен в виде загружаемого PDF-файла. Получите более 1200 страниц практических занятий по PHP уже сегодня!
Если это было полезно, пожалуйста, найдите время, чтобы рассказать другим о взломе с помощью PHP, написав об этом в Твиттере!
Tweet
Следующая глава: Преобразование из компонентов >>
Предыдущая глава: Преобразование из строки
Перейти к: Функции Обзор функций Как читать прототипы функций Работа с переменными Управление выполнением скрипта Работа с Датой и временем Текущее время преобразования из строки, преобразующей строку, преобразующую из компонентов математики, округливая рандомизация тригонометрическая преобразование Другие математические функции преобразования базовые преобразования Математические константы, играющие с помощью строк, считываемых из части строки, заменяющей части строки, преобразующей и из измерения ASCII и из измерения ASCII. внутри строки Возврат первого вхождения строки Обрезка пробелов Перенос строк Изменение регистра строк Создание безопасного хэша данных Альтернативное хэширование данных Автоматически Вычеркивая строки красивые печатные номера, удаляющие HTML из строки, сравнивающей строки, заполняющие строковую комплексную печать строки, разборочная строка в переменные Регулярные выражения основные регуляторы с preg_match () и preg_match_all () Помощник по регулярным выражениям Проверка доступности функции Функции расширения Приостановка выполнения скрипта Выполнение внешних программ Функции, связанные с подключением Изменение среды выполнения Функции пользователя Возвращаемые значения Параметры Передача по ссылке Возврат по ссылке Параметры по умолчанию Массив GLOBALS Рекурсивные функции Функции переменных Функции обратного вызова Функция declare() и тики Обработка неанглийских символов rs Недокументированные функции Резюме Упражнения Дополнительная литература Следующая глава
Домашняя страница: Содержание
Copyright © 2015 Paul Hudson. Подписывайтесь на меня: @twostraws.
Преобразование строки формата даты PHP в строку формата .NET DateTime
Недавно мне пришлось преобразовать написанный мной код JavaScript, в котором использовалась строка формата даты в стиле PHP, в строку формата даты в стиле .NET DateTime.
Было бы намного быстрее, если бы у нас был какой-нибудь стол для бесед. После небольшого поиска в Google я ничего не нашел, поэтому решил сделать его сам. Вот плоды моего труда!
Чтобы использовать строку формата даты PHP:
$time = date("g:i a")
Чтобы использовать строку формата даты .NET (в C#):
string time = DateTime.Now.ToString( "ч:мм тт")
День | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
д | дд | 01 до 31 |
Д | ддд | Пн 9с 0006 по вс |
и | д | 1 от до 31 |
л (строчная Л) | дддд | Воскресенье с по Суббота |
Н | — | 1 (в понедельник) по 7 (в воскресенье) |
С | — | ст , й , й или -й |
с | ДатаВремя#ДеньНедели | от 0 (воскресенье) до 6 (суббота) |
з | DateTime#DayOfYear – 1 | 0 от до 365 |
Неделя | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
Ш | — | 42 (42-я неделя года) |
День | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
Ф | ММММ | Январь с по Декабрь |
м | ММ | 01 от до 12 |
М | МММ | Январь — Декабрь |
п | М | 1 от до 12 |
т | ДатаВремя#ДнейВМесяце() | 28 от до 31 |
Год | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
Л | DateTime#IsLeapYear() | 1 если год високосный, 0 иначе |
или | гггг (?) | ISO-8601, номер года |
Д | гггг | 1999 или 2003 |
у | г. г. | 99 или 03 |
Время | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
и | — | утра или вечера |
А | тт | AM или PM |
Б | — | 000 от до 999 |
г | ч | 1 от до 12 |
Г | Х | 0 от до 23 |
ч | чч | 01 от до 12 |
Н | ЧЧ | 00 от до 23 |
и | мм | 00 до 59 |
с | нержавеющая сталь | 00 от до 59 |
и | фффф | 54321 |
Часовой пояс | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
и | — | UTC , GMT , Атлантика/Азорские острова |
I (заглавная i) | DateTime#IsDaylightSavingTime() | 1 при переходе на летнее время, 0 в противном случае |
О | — | +0200 |
Р | ззз | +02:00 |
Т | — | ЭСТ , МДТ |
З | — | -43200 — 50400 |
Полная дата/время | ||
---|---|---|
Дата PHP() | ДатаВремя | Пример |
с | — | 2004-02-12T15:19:21+00:00 |
р | — | Чт, 21 декабря 2000 16:01:07 +0200 |
У | — | секунд с эпохи Unix |
(Обратите внимание, что только потому, что у меня нет записи для версии DateTime одной из строк даты PHP, это не означает, что вы не можете легко получить эту информацию с помощью .