Php date and time

Содержание

  • checkdate — Проверяет корректность даты по григорианскому календарю
  • date_add — Псевдоним DateTime::add
  • date_create_from_format — Псевдоним DateTime::createFromFormat
  • date_create_immutable_from_format — Псевдоним DateTimeImmutable::createFromFormat
  • date_create_immutable — Псевдоним DateTimeImmutable::__construct
  • date_create — Псевдоним DateTime::__construct
  • date_date_set — Псевдоним DateTime::setDate
  • date_default_timezone_get — Возвращает временную зону, используемой по умолчанию всеми функциями даты/времени в скрипте
  • date_default_timezone_set — Устанавливает временную зону по умолчанию для всех функций даты/времени в скрипте
  • date_diff — Псевдоним DateTime::diff
  • date_format — Псевдоним DateTime::format
  • date_get_last_errors — Псевдоним DateTime::getLastErrors
  • date_interval_create_from_date_string — Псевдоним DateInterval::createFromDateString
  • date_interval_format — Псевдоним DateInterval::format
  • date_isodate_set — Псевдоним DateTime::setISODate
  • date_modify — Псевдоним DateTime::modify
  • date_offset_get — Псевдоним DateTime::getOffset
  • date_parse_from_format — Получение информации о заданной в определенном формате дате
  • date_parse — Возвращает ассоциативный массив с подробной информацией о заданной дате/времени
  • date_sub — Псевдоним DateTime::sub
  • date_sun_info — Возвращает массив с информацией о закате/рассвете и начале/окончании сумерек
  • date_sunrise — Возвращает время рассвета для заданных дня и местоположения
  • date_sunset — Возвращает время захода солнца для заданных дня и местоположения
  • date_time_set — Псевдоним DateTime::setTime
  • date_timestamp_get — Псевдоним DateTime::getTimestamp
  • date_timestamp_set — Псевдоним DateTime::setTimestamp
  • date_timezone_get — Псевдоним DateTime::getTimezone
  • date_timezone_set — Псевдоним DateTime::setTimezone
  • date — Форматирует вывод системной даты/времени
  • getdate — Возвращает информацию о дате/времени
  • gettimeofday — Возвращает текущее время
  • gmdate — Форматирует дату/время по Гринвичу
  • gmmktime — Возвращает локальную метку времени Unix для времени по Гринвичу
  • gmstrftime — Форматирует дату/время по Гринвичу с учетом текущей локали
  • idate — Преобразует локальное время/дату в целое число
  • localtime — Возвращает локальное время
  • microtime — Возвращает текущую метку времени Unix с микросекундами
  • mktime — Возвращает метку времени Unix для заданной даты
  • strftime — Форматирует текущую дату/время с учетом текущих настроек локали
  • strptime — Разбирает строку даты/времени, сгенерированную функцией strftime
  • strtotime — Преобразует текстовое представление даты на английском языке в метку времени Unix
  • time — Возвращает текущую метку системного времени Unix
  • timezone_abbreviations_list — Псевдоним DateTimeZone::listAbbreviations
  • timezone_identifiers_list — Псевдоним DateTimeZone::listIdentifiers
  • timezone_location_get — Псевдоним DateTimeZone::getLocation
  • timezone_name_from_abbr — Возвращает временную зону в соответствии с аббревиатурой
  • timezone_name_get — Псевдоним DateTimeZone::getName
  • timezone_offset_get — Псевдоним DateTimeZone::getOffset
  • timezone_open — Псевдоним DateTimeZone::__construct
  • timezone_transitions_get — Псевдоним DateTimeZone::getTransitions
  • timezone_version_get — Получение номера версии базы данных временных зон

Parameter Values

Parameter Description
date Required. The string to parse (e.g. returned from strftime())
format Required. Specifies the format used in the date:
  • %a — abbreviated weekday name
  • %A — full weekday name
  • %b — abbreviated month name
  • %B — full month name
  • %c — preferred date and time representation
  • %C — century number (the year divided by 100, range 00 to 99)
  • %d — day of the month (01 to 31)
  • %D — same as %m/%d/%y
  • %e — day of the month (1 to 31)
  • %g — like %G, but without the century
  • %G — 4-digit year corresponding to the ISO week number (see %V).
  • %h — same as %b
  • %H — hour, using a 24-hour clock (00 to 23)
  • %I — hour, using a 12-hour clock (01 to 12)
  • %j — day of the year (001 to 366)
  • %m — month (01 to 12)
  • %M — minute
  • %n — newline character
  • %p — either am or pm according to the given time value
  • %r — time in a.m. and p.m. notation
  • %R — time in 24 hour notation
  • %S — second
  • %t — tab character
  • %T — current time, equal to %H:%M:%S
  • %u — weekday as a number (1 to 7), Monday=1. Warning: In Sun Solaris Sunday=1
  • %U — week number of the current year, starting with the first Sunday as the first day of the first week
  • %V — The ISO 8601 week number of the current year (01 to 53), where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week
  • %W — week number of the current year, starting with the first Monday as the first day of the first week
  • %w — day of the week as a decimal, Sunday=0
  • %x — preferred date representation without the time
  • %X — preferred time representation without the date
  • %y — year without a century (range 00 to 99)
  • %Y — year including the century
  • %Z or %z — time zone or name or abbreviation
  • %% — a literal % character

Definition and Usage

The strtotime() function parses an English textual datetime into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 GMT).

Note: If the year is specified in a two-digit format, values between 0-69 are mapped to 2000-2069 and values between 70-100 are mapped to 1970-2000.

Note: Be aware of dates in the m/d/y or d-m-y formats; if the separator is a slash (/), then the American m/d/y is assumed. If the separator is a dash (-) or a dot (.), then the European d-m-y format is assumed. To avoid potential errors, you should YYYY-MM-DD dates or date_create_from_format() when possible.

Перевести дату в метку времени timestamp -> mktime

Как уже было заявлено выше … у нас есть дата вида:

2019-02-05 11:38mktime Заменим перове значение -> все знаки(array(‘ ‘,’:’,’.’,’, ‘,)), который подозреваем, что есть в нашей дате, на второе значение -> перенос(-), в третьем значении дата(2019-02-05 11:38): str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’)

Разобьем с помощью explode в массив:

explode(‘-‘, str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’))

Используем функцию list, чтобы сделать из разбитого в массив список …:

list($year , $month , $day, $H, $i, $s) = explode(‘-‘, str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’));

и сталось вернуть временную метку из даты:

echo mktime($H, $i, $s, $month, $day, $year);

Результат:

1549355880

Date Formats

This page describes the different date formats that the strtotime(), DateTime and date_create() parser understands.

Used Symbols
Description Format Examples
daysuf «st» | «nd» | «rd» | «th»  
dd (? | «3») daysuf? «7th», «22nd», «31»
DD «0» | | «3» «07», «31»
m ‘january’ | ‘february’ | ‘march’ | ‘april’ | ‘may’ | ‘june’ | ‘july’ | ‘august’ | ‘september’ | ‘october’ | ‘november’ | ‘december’ | ‘jan’ | ‘feb’ | ‘mar’ | ‘apr’ | ‘may’ | ‘jun’ | ‘jul’ | ‘aug’ | ‘sep’ | ‘sept’ | ‘oct’ | ‘nov’ | ‘dec’ | «I» | «II» | «III» | «IV» | «V» | «VI» | «VII» | «VIII» | «IX» | «X» | «XI» | «XII»  
M ‘jan’ | ‘feb’ | ‘mar’ | ‘apr’ | ‘may’ | ‘jun’ | ‘jul’ | ‘aug’ | ‘sep’ | ‘sept’ | ‘oct’ | ‘nov’ | ‘dec’  
mm «0»? | «1» «0», «04», «7», «12»
MM «0» | «1» «00», «04», «07», «12»
y {1,4} «00», «78», «08», «8», «2008»
yy {2} «00», «08», «78»
YY {4} «2000», «2008», «1978»
Localized Notations
Description Format Examples
American month and day mm «/» dd «5/12», «10/27»
American month, day and year mm «/» dd «/» y «12/22/78», «1/17/2006», «1/17/6»
Four digit year, month and day with slashes YY «/» mm «/» dd «2008/6/30», «1978/12/22»
Four digit year and month (GNU) YY «-» mm «2008-6», «2008-06», «1978-12»
Year, month and day with dashes y «-» mm «-» dd «2008-6-30», «78-12-22», «8-6-21»
Day, month and four digit year, with dots, tabs or dashes dd mm YY «30-6-2008», «22.12.1978»
Day, month and two digit year, with dots or tabs dd mm «.» yy «30.6.08», «22\t12.78»
Day, textual month and year dd ()* m ()* y «30-June 2008», «22DEC78», «14 III 1879»
Textual month and four digit year (Day reset to 1) m ()* YY «June 2008», «DEC1978», «March 1879»
Four digit year and textual month (Day reset to 1) YY ()* m «2008 June», «1978-XII», «1879.MArCH»
Textual month, day and year m ()* dd + y «July 1st, 2008», «April 17, 1790», «May.9,78»
Textual month and day m ()* dd * «July 1st,», «Apr 17», «May.9»
Day and textual month d ()* m «1 July», «17 Apr», «9.May»
Month abbreviation, day and year M «-» DD «-» y «May-09-78», «Apr-17-1790»
Year, month abbreviation and day y «-» M «-» DD «78-Dec-22», «1814-MAY-17»
Year (and just the year) YY «1978», «2008»
Textual month (and just the month) m «March», «jun», «DEC»
ISO8601 Notations
Description Format Examples
Eight digit year, month and day YY MM DD «15810726», «19780417», «18140517»
Four digit year, month and day with slashes YY «/» MM «/» DD «2008/06/30», «1978/12/22»
Two digit year, month and day with dashes yy «-» MM «-» DD «08-06-30», «78-12-22»
Four digit year with optional sign, month and day ? YY «-» MM «-» DD «-0002-07-26», «+1978-04-17», «1814-05-17»

Description

The strftime() function is used to get a local time/date format according to the localization settings.


Version:

(PHP 4 and above)

Syntax:

strftime(format, timestamp )

Parameters:

Name Description Required / Optional Type
format Day : %a — Short day abbreviation ( Sun through Sat) %A — A full day name ( Sunday through Saturday) %d — Numeric day of the month with leading zeros (01 to 31) %e — Day of the month without leading zeros (1 to 31 ) %j — Day of the year, 3 digits with leading zeros (001 to 366) %u — ISO-8601 numeric day of the week 1 (for Monday) through 7 (for Sunday) %w — Numeric day of the week 0 (for Sunday) through 6 (for Saturday)Week : %U — Week number of a specified year, starting with the first Sunday as the first week 13 (for the 13th full week of the year) %V — ISO-8601:1988 week number of a specific year, starting the first week of the year with at least 4 weekdays. Example : Monday being the start of the week 01 through 53 %W — Numeric representation of week number of year. Week starting from Monday Month : %b — Abbreviated month name (Jan through Dec) %B — Full month name (January through December) %h — Abbreviated month name (Jan through Dec) %m — Numeric representation of the month in two digits 01 (for January) through 12 (for December) Year : %C — Numeric representation of the century in two digits %g — Two digit representation of the year going by ISO-8601:1988 standards %G — The full four-digit representation of the year %y — Numeric representation of the year in two digits (Example: 99 for1999) %Y — Four digit representation for the year Example: 2011 Time : %H — 24-hour format of an hour (00 through 23) %I — 12-hour format of an hour (01 through 12 ) %l — 12-hour format of an hour without leading zeros (1 to 12) %M -Minutes with leading zeros (00 through 59) %p — UPPER-CASE ‘AM’ or ‘PM’ %P — lower-case ‘am’ or ‘pm’ %r — Same as «%I:%M:%S %p» %R — Same as «%H:%M» %S — Seconds with leading zero (00 through 59) %T — Same as «%H:%M:%S» %X — Represent times without the date %z — The time zone offset from UTC or the abbreviation %Z — The time zone offset or abbreviation if option NOT given by %z Time and Date Stamps : %c — A specific date and time stamp based on local %D — Same as «%m/%d/%y» %F — Same as «%Y-%m-%d» (usually used in database datestamps) %s — Unix Epoch Time timestamp %x — A date representation based on locale date, without the time Miscellaneous : %n — A newline character («\n») %t — A Tab character («\t») %% — A literal percentage character («%») optional string
timestamp An integer indicates the unixtimestamp. If a timestamp is not supplied, it gives the current local time. optional integer

Return value

A formatted string.

Value Type: String.

Example:

Sample Output:

November  2004 10:00:00
Dec 31 1998 20:00:00
Today is Wed on Jan 19, 2011, 06:02:31 time zone: India Standard Time

See also

Previous: mktimeNext: strptime

Technical Details

Return Value: Returns a timestamp on success. FALSE on failure
PHP Version: 4+
PHP Changelog: PHP 5.3.0: Relative time formats such as this week, previous week, last week, and next week now interprets a week period of Monday through Sunday, rather then a 7-day period relative to the current date/timePHP 5.3.0: Now 24:00 is a valid formatPHP 5.2.7: In earlier versions, if requesting a given occurrence of a given weekday in a month where that weekday was the first day of the month it would incorrectly add one week to the returned timestamp. This has been corrected nowPHP 5.1.0: Returns FALSE on failure (earlier versions returns -1), and issues E_STRICT and E_NOTICE time zone errorsPHP 5.0.2: Now correctly computes «now» and other relative times from current time, not from today’s midnight PHP 5.0.0: Allows microseconds (but they are ignored)

Все способы вернуть из даты временную метку

  1. -> strtotime
  2. -> mktime
  3. -> DateTime + format
  4. -> DateTime + getTimestamp
  5. -> date_create + date_format
  1. Как преобразовать дату в метку времени! Мы будем сегодня пользоваться функцией strtotime.

    Как-то затрагивали тему времени в php и сегодня нам потребовалось дату конвертировать обратно в метку времени(timestamp)!

    У есть дата такого формата… запените эту дату вместе с часами и минутами.

    2019-02-05 11:38

    Как преобразовать дату во временную метку с помощью strtotime

    Теперь напишем вот такую конструкцию — пишем функцию strtotime, двойные скобки и внутри помещаем ранее выведенную дату в таком формате, как есть… мы получим вот такую строку;

    echo strtotime(‘2019-02-05 11:38’); 1549355880 У нас получилось какое-то число, которое и есть метка времени(timestamp) добытая из даты.

  2. Как уже было заявлено выше … у нас есть дата вида:

    2019-02-05 11:38 И теперь в качестве функции, которая вернет нам метку времени будем использовать mktime, но сперва ма потребуется, для этой функции, проделать пару манипуляций…

    Заменим перове значение -> все знаки(array(‘ ‘,’:’,’.’,’, ‘,)), который подозреваем, что есть в нашей дате, на второе значение -> перенос(-), в третьем значении дата(2019-02-05 11:38): str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’)

    Разобьем с помощью explode в массив:

    explode(‘-‘, str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’))

    Используем функцию list, чтобы сделать из разбитого в массив список …:

    list($year , $month , $day, $H, $i, $s) = explode(‘-‘, str_replace(array(‘ ‘,’:’,’.’,’, ‘,), ‘-‘, ‘2019-02-05 11:38’));

    и сталось вернуть временную метку из даты:

    echo mktime($H, $i, $s, $month, $day, $year);

    Результат:

    1549355880

  3. Будем использовать DateTime + format для возврата временной метки из даты!

    Пропускаем через класс DateTime + присваиваем переменной:

    $dateTime = new DateTime(‘2019-02-05 11:38’);

    format возвращаем строку даты, преобразованной согласно переданному формату и выводим:

    echo $dateTime->format(‘U’);

    Результат:

    1549355880

  4. Будем использовать DateTime + getTimestamp для возврата временной метки из даты! Все тоже самое. что и в предыдущем пункте, только вместо format используем getTimestamp

    Пропускаем через класс DateTime + присваиваем переменной:

    $dateTime = new DateTime(‘2019-02-05 11:38’);

    getTimestamp получим метку времени в стиле Unix

    echo $dateTime->getTimestamp();

    Результат:

    1549355880

  5. Функция date_create создает объект ‘дата’, с которым в дальнейшем можно выполнять некоторые операции.

    Пропускаем через функцию date_create + присваиваем переменной:

    $date = date_create(‘2019-02-05 11:38’);

    date_format строку, отформатированную в соответствии с указанным шаблоном format.

    echo date_format($date, ‘U’);

    Результат:

    1549355880 Либо вместо date_format можно использовать date_timestamp_get echo date_timestamp_get($date);

    Результат:

    1549355880

    Думаю этих способов вернуть временную метку из даты будет достаточно!

Вас может еще заинтересовать список тем : #PHP | #PHP_BOOK | #PHP_TIME | #FUNCTION_TIME | Последняя дата редактирования : 2020-02-26 07:53 https://dwweb.ru/comments_1_5/include/img/hand_no_foto.png no no   BBcode

Описание

string strftime (string format )

Возвращает строку, отформатированную в соответствии с заданной строкой формата с использованием timestamp или текущего локального времени, если timestamp не задан. Имена month и weekday и другие зависимые от языка строки соотносятся с текущей локализацией через setlocale().

В строке формата распознаются следующие спецификаторы конвертации:

  • %a — сокращённое имя weekday в соответствии с текущей locale

  • %A — полное имя weekday в соответствии с текущей locale

  • %b — сокращённое имя month в соответствии с текущей locale

  • %B — полное имя month в соответствии с текущей locale

  • %c — предпочтительное представление даты и времени для текущей locale

  • %C — число столетий (год, разделённый на 100 и усечённый до integer, в диапазоне 00 — 99)

  • %d — число месяца как 10-ричное число (диапазон 01 — 31)

  • %D — то же , что %m/%d/%y

  • %e — число месяца как 10-ричное число, одиночная цифра имеет перед собой пробел (диапазон ‘1’ — ’31’)


  • %g — как %G, но без столетия

  • %G — год из 4 цифр, соответствующий ISO-номеру недели (см. %V). Имеет тот же формат и значение, что и %Y, но, если ISO week number принадлежит предыдущему или следующему году, используется тот год.

  • %h — то же, что и %b

  • %H — часы как 10-ричное число (диапазон 00 — 23)

  • %I — часы как 10-ричное число с использованием 12-часового циферблата (диапазон 01 — 12)

  • %j — день года как 10-ричное число (диапазон 001 — 366)

  • %m — month как 10-ричное число (диапазон 01 — 12)

  • %M — минуты как 10-ричное число

  • %n — символ newline

  • %p — ‘am’ или ‘pm’ в соответствии с заданным значением времени, либо соответствующие строки для текущей locale

  • %r — время в нотации a.m. и p.m.

  • %R — время в 24-часовой нотации

  • %S — секунды как 10-ричное число

  • %t — символ tab


  • %T — текущее время, равное %H:%M:%S

  • %u — день недели как 10-ричное число , где 1 это Monday

Предупреждение!

Sun Solaris начинает неделю с Sunday как 1, хотя ISO 9889:1999 (текущий стандарт C) ясно указывает, что это должен быть Monday.

  • %U — номер недели текущего года как 10-ричное число, начиная с Sunday как первого дня первой недели

  • %V — ISO 8601:1988 номер недели текущего года как 10-ричное число, диапазон 01 — 53, где week 1 это первая неделя, имеющая как минимум 4 дня в текущем году, а Monday это первый день недели. (Используйте %G или %g для компонента year, соответствующие номеру недели для специфицированного .)

  • %W — номер недели текущего года как 10-ричное число, начиная с Monday как первого дня первой недели

  • %w — день недели как 10-ричное число, Sunday как 0

  • %x — предпочтительное представление даты для текущей locale без времени

  • %X — предпочтительное представление времени для текущей locale без даты

  • %y — год как 10-ричное число без столетий (диапазон 00 — 99)

  • %Y — год как 10-ричное число, включая столетия

  • %Z — часовой пояс, имя или аббревиатура

  • %% -литеральный символ ‘%’

Пример 1. strftime()
setlocale (LC_TIME, "C");
print (strftime ("%A in Finnish is "));
setlocale (LC_TIME, "fi_FI");
print (strftime ("%A, in French "));
setlocale (LC_TIME, "fr_FR");
print (strftime ("%A and in German "));
setlocale (LC_TIME, "de_DE");
print (strftime ("%A.\n"));

Этот пример работает, если вы имеете соответствующие локализации/locales, установленные в вашей системе.

См. также setlocale(), mktime() и Open Group-спецификацию strftime().

Parameter Values

Parameter Description
format Required. Specifies how to return the result:
  • %a — abbreviated weekday name
  • %A — full weekday name
  • %b — abbreviated month name
  • %B — full month name
  • %c — preferred date and time representation
  • %C — century number (the year divided by 100, range 00 to 99)
  • %d — day of the month (01 to 31)
  • %D — same as %m/%d/%y
  • %e — day of the month (1 to 31)
  • %g — like %G, but without the century
  • %G — 4-digit year corresponding to the ISO week number (see %V).
  • %h — same as %b
  • %H — hour, using a 24-hour clock (00 to 23)
  • %I — hour, using a 12-hour clock (01 to 12)
  • %j — day of the year (001 to 366)
  • %m — month (01 to 12)
  • %M — minute
  • %n — newline character
  • %p — either am or pm according to the given time value
  • %r — time in a.m. and p.m. notation
  • %R — time in 24 hour notation
  • %S — second
  • %t — tab character
  • %T — current time, equal to %H:%M:%S
  • %u — weekday as a number (1 to 7), Monday=1. Warning: In Sun Solaris Sunday=1
  • %U — week number of the current year, starting with the first Sunday as the first day of the first week
  • %V — The ISO 8601 week number of the current year (01 to 53), where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week
  • %W — week number of the current year, starting with the first Monday as the first day of the first week
  • %w — day of the week as a decimal, Sunday=0
  • %x — preferred date representation without the time
  • %X — preferred time representation without the date
  • %y — year without a century (range 00 to 99)
  • %Y — year including the century
  • %Z or %z — time zone or name or abbreviation
  • %% — a literal % character
timestamp Optional. Specifies a Unix timestamp that represents the date and/or time to be formatted. Default is the current local time (time())

С этим читают