Php

Описание

date

Возвращает время, отформатированное в соответствии с аргументом

format, используя метку времени, заданную

аргументом timestamp или текущее системное

время, если timestamp не задан.

Другими словами, timestamp является

необязательным и по умолчанию равен значению, возвращаемому функцией

time().

Таблица 1. В параметре format распознаются

следующие символы

Символ в строке format Описание Пример возвращаемого значения
a Ante meridiem или Post meridiem в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
B Время в стадарте Swatch Internet От 000 до 999
c Дата в формате ISO 8601 (добавлено в PHP 5) 2004-02-12T15:19:21+00:00
d День месяца, 2 цифры с ведущими нулями от 01 до 31
D Сокращенное наименование дня недели, 3 символа от Mon до Sun
F Полное наименование месяца, например January или March от January до December
g Часы в 12-часовом формате без ведущих нулей От 1 до 12
G Часы в 24-часовом формате без ведущих нулей От до 23
h Часы в 12-часовом формате с ведущими нулями От 01 до 12
H Часы в 24-часовом формате с ведущими нулями От 00 до 23
i Минуты с ведущими нулями 00 to 59
I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, иначе otherwise.
j День месяца без ведущих нулей От 1 до 31
l (строчная ‘L’) Полное наименование дня недели От Sunday до Saturday
L Признак високосного года 1, если год високосный, иначе .
m Порядковый номер месяца с ведущими нулями От 01 до 12
M Сокращенное наименование месяца, 3 символа От Jan до Dec
n Порядковый номер месяца без ведущих нулей От 1 до 12
O Разница с временем по Гринвичу в часах Например: +0200
r Дата в формате RFC 2822 Например: Thu, 21 Dec 2000 16:01:07 +0200
s Секунды с ведущими нулями От 00 до 59
S Английский суффикс порядкового числительного дня месяца, 2 символа

st, nd, rd или

th. Применяется совместно с j

t Количество дней в месяце От 28 до 31
T Временная зона на сервере Примеры: EST, MDT
U

Количество секунд, прошедших с начала Эпохи Unix (The Unix

Epoch, 1 января 1970, 00:00:00 GMT)

См. также time()
w Порядковый номер дня недели От (воскресенье) до 6 (суббота)
W Порядковый номер недели года по ISO-8601, первый день недели — понедельник (добавлено в PHP 4.1.0) Например: 42 (42-я неделя года)
Y Порядковый номер года, 4 цифры Примеры: 1999, 2003
y Номер года, 2 цифры Примеры: 99, 03
z Порядковый номер дня в году (нумерация с 0) От до 365
Z

Смещение временной зоны в секундах. Для временных зон

западнее UTC это отрицательное число, восточнее UTC — положительное.

От -43200 до 43200

Любые другие символы, встреченные в строке format,

будут выведены в результирующую строку без изменений.

Z всегда возвращает при

использовании gmdate().

Пример 1. Примеры использования функции date()

Избежать распознавания символа как форматирующего можно, если экранировать

этот символ с помощью \ Если в сочетании с

\ символ являееся специальным (например,

\t), следует добавлять еще один

\.

Пример 2. Экранирование символов в функции date()

Функции date() и

mktime() для вывода прошедших и будущих дат.

Пример 3.

date() и mktime()

example

Приведем еще несколько примеров использования функции

date(). Помните, что следует экранировать все

символы, которые вы хотите видеть в результате работы функции без

изменений. Это относится и к символам, которые в текущей версии PHP

не распознаются как специальные, так как этим символам может быть

назначено значение в следующих версиях.

Используйте одинарные кавычки для предотвращения преобразования

\n в перевод строки.

Пример 4.

Форматирование с использованием date()

Для форматирования дат на других языках используйте функции

setlocale() и strftime().

См. также описание функций getlastmod(), gmdate(),

mktime(), strftime()

и time().

Время выполнения скрипта

Способ #1

Функция с переданным значением возвращает число секунд, прошедших с полуночи , причём это значение подсчитано до сотых долей секунды. Затем идёт сам скрипт (исполняемый код), который мы и проверяем. В последней строкой будет разница между текущим временем (после выполнения скрипта) и тем, что мы зафиксировали при старте скрипта. Разница времени после выполнения скрипта и времени до начала его работы, и есть время выполнения скрипта.

$start = microtime(true);

// исполняемый код ...

echo '<br>===============================================================';
echo 'Время выполнения скрипта: ' . (microtime(true) - $start) . ' sec.';

Результат:

Время выполнения скрипта: 0.16499996185303 sec.

Способ #2

Можно вместо брать значение из переменной , которая содержит время запроса к серверу. Вычисление времени выполнения происходит за исполняемым кодом.

// исполняемый код ...

$time = microtime(true) - $_SERVER;
echo $time . ' sec.';

Если на сервере установлен :

// исполняемый код ...

echo xdebug_time_index() . ' sec.';

Способ #4

Можно подсчитать среднее значение выполнения скрипта и записать результат в логи:

$start = microtime(true);
 
// исполняемый код ...
 
$time = round(microtime(true) - $start, 3);
 
$f = fopen('time.log', 'a');
fwrite($f, $time . PHP_EOL);
fclose($f);
 
$log = file('time.log');
$result = round(array_sum($log) / count($log), 3); 
echo $result . ' sec.';

Добавление, вычитание и сравнение дат

Можно добавлять и вычитать определенные периоды времени к и от даты. Это можно сделать с помощью функций и . Вы также можете использовать функцию , чтобы вычесть две даты и вывести разницу между ними по годам, месяцам и дням или что-то еще.

Как правило, проще провести такую арифметику, связанную с датой и временем, в объектно-ориентированном стиле с классом , а не делать это процедурно. Мы попробуем оба эти стили, и вы сможете выбрать то, что вам больше нравится.

При использовании объект , на который вызывается метод , вычитается из объекта , который передается методу . Когда вы пишете код процедурного стиля, первый параметр даты вычитается из второго параметра даты.

И функция, и метод возвращают объект , представляющий разницу между двумя датами. Этот интервал можно отформатировать, чтобы дать конкретный результат, используя все символы, перечисленные в документации метода .

Различие между объектно-ориентированным стилем и процедурным становится более очевидным при вычитании или добавлении временного интервала.

Вы можете создать экземпляр нового объекта с помощью конструктора . Аналогично, вы можете создать экземпляр объекта с помощью конструктора . Он принимает строку в качестве ее параметра. Интервальная строка начинается с , что означает период. После этого вы можете указать каждый период с использованием целочисленного значения и символа, присвоенного определенному периоду. Для получения дополнительной информации вы должны проверить документацию .

Вот пример, который иллюстрирует, как легко добавлять или вычитать даты и время в PHP.

Вы также можете сравнить даты на PHP с помощью операторов сравнения. Это может пригодиться время от времени. Давайте создадим счетчик рождественских дней, используя операторы сравнения и другие методы .

Мы начали с создания двух объектов для хранения текущего времени и даты Рождества этого года. После этого мы запускаем цикл , чтобы добавить 1 год к рождественской дате 2018 года, пока настоящая дата не станет меньше, чем дата Рождества. Это будет полезно, когда код будет запущен 18 января 2024 года. Цикл while увеличит дату Рождества, если он меньше текущей даты во время запуска этого скрипта.

Наш рождественский счетчик теперь будет работать в течение многих десятилетий без проблем.

Getting the Date and Time in String Format

is one of the most commonly used date and time functions available in PHP. It takes the desired output format for the date as the first parameter and an integer as a timestamp value which needs to be converted to the given date format. The second parameter is optional, and omitting it will output the current date and time in string format based on the value of .

The  parameter accepts a series of characters as valid values. Some of these characters have straightforward meanings:  gives you the full numeric representation of the year with 4 digits (2018), and  only gives you the last two digits of the current year (18). Similarly,  will give you the hour in 24-hour format with leading zeros, but  will give you the hour in 12-hour format with leading zeros.

Here are some of the most common date format characters and their values.

Character Meaning Example
day of the month with leading zeros 03 or 17
day of the month without leading zeros 3 or 17
day of the week as a three-letter abbreviation Mon
full day of the week Monday
month as a number with leading zeros 09 or 12
month as a number without leading zeros 9 or 12
month as a three-letter abbreviation Sep
full month September
two-digit year 18
full year 2018

There are many other special characters to specify the output for the  function. It is best to consult the format characters table in the  function documentation for more information about special cases.

Let’s see some practical examples of the  function now. We can use it to get the current year, current month, current hour, etc., or we can use it to get a complete date string.

You can also use the  function to output the time. Here are some of the most commonly used time format characters:

Character Meaning Example
hours in 12-hour format without leading zeros 1 or 12
hours in 12-hour format with leading zeros 01 or 12
hours in 24-hour format without leading zeros 1 or 13
hours in 24-hour format with leading zeros 01 or 13
am/pm in lowercase am
am/pm in uppercase AM
minutes with leading zeros 09 or 15
seconds with leading zeros 05 or 30

And here are some examples of outputting formatted time strings.

It is also important that you escape these special characters if you want to use them inside your date string.

PHP 5 Date/Time функции

Функция Описание
checkdate() Проверяет григорианскую дату
date_add() Добавляет дни, месяцы, годы, часы, минуты и секунды к дате
date_create_from_format() Возвращает новый объект DateTime, отформатированный в соответствии с указанным форматом
date_create() Возвращает новый объект DateTime
date_date_set() Устанавливает новую дату
date_default_timezone_get() Возвращает индексный часовой пояс, используемый всеми функциями даты и времени
date_default_timezone_set() Задает часовой пояс индекса, используемый всеми функциями даты и времени
date_diff() Возвращает разницу между двумя датами
date_format() Возвращает дату, отформатированную в соответствии с заданным форматом
date_get_last_errors() Возвращает предупреждения/ошибки, найденные в строке даты
date_interval_create_from_date_string() Устанавливает для dateinterval из относительной части строки
date_interval_format() Форматирует интервал
date_isodate_set() Устанавливает дату ISO
date_modify() Изменяет метку времени
date_offset_get() Возвращает смещение часового пояса
date_parse_from_format() Возвращает ассоциативный массив с подробной информацией о заданной дате в соответствии с заданным форматом
date_parse() Возвращает ассоциативный массив с подробной информацией о заданной дате
date_sub() Вычитает дни, месяцы, годы, часы, минуты и секунды из даты
date_sun_info() Возвращает массив, содержащий информацию о начале/конце заката/восхода солнца и сумерек для указанного дня и местоположения
date_sunrise() Возвращает время восхода солнца для указанного дня и местоположения
date_sunset() Возвращает время захода солнца для указанного дня и местоположения
date_time_set() Устанавливат время
date_timestamp_get() Возвращает метку времени Unix
date_timestamp_set() Устанавливает дату и время на основе временной метки Unix
date_timezone_get() Возвращает часовой пояс данного объекта DateTime
date_timezone_set() Задает часовой пояс для объекта DateTime
date() Форматирует локальную дату и время
getdate() Возвращает информацию о дате/времени метки времени или текущей локальной дате/времени
gettimeofday() Возвращает текущее время
gmdate() Форматирует дату и время GMT/UTC
gmmktime() Возвращает метку времени Unix для даты GMT
gmstrftime() Форматирует дату и время GMT/UTC в соответствии с настройками локали
idate() Форматирует местное время/дату как целое число
localtime() Возвращает местное время
microtime() Возвращает текущую метку времени Unix в микросекундах
mktime() Возвращает метку времени Unix для даты
strftime() Форматирует местное время и/или дату в соответствии с настройками локали
strptime() Анализирует время/дату, сгенерированные с помощью strftime()
strtotime() Разбирает английское текстовое представление даты в метку времени Unix
time() Возвращает текущее время в виде временной метки Unix
timezone_abbreviations_list() Возвращает ассоциативный массив, содержащий летнее время, смещение и имя часового пояса
timezone_identifiers_list() Возвращает индексированный массив со всеми идентификаторами часовых поясов
timezone_location_get() Возвращает информацию о местоположении для указанного часового пояса
timezone_name_from_ abbr() Возвращает название часового пояса из аббревиатуры
timezone_name_get() Возвращает название часового пояса
timezone_offset_get() Возвращает смещение часового пояса от GMT
timezone_open() Создает новый объект DateTimeZone
timezone_transitions_get() Возвращает все переходы для часового пояса
timezone_version_get() Возвращает версию базы данных часового пояса

The PHP mktime() Function

The function is used to create the timestamp based on a specific date and time. If no date and time is provided, the timestamp for the current date and time is returned.

The syntax of the function can be given with:

mktime(hour, minute, second, month, day, year)

The following example displays the timestamp corresponding to 3:20:12 pm on May 10, 2014:

Run this code

The above example produce the following output.

1399735212

Note: You can leave out as many arguments as you like, and the value corresponding to the current time will be used instead. If you omit all the arguments, the function will return the UNIX timestamp corresponding to the current date and time, just like .

The function can be used to find the weekday name corresponding to a particular date. To do this, simply use the ‘l’ (lowercase ‘L’) character with your timestamp, as in the following example, which displays the day that falls on April 1, 2014:

Run this code

The above example produce the following output.

Tuesday

The function can also be used to find a particular date in future after a specific time period. As in the following example, which displays the date which falls on after 30 month from the current date?

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

  1. -> strtotime
  2. -> mktime
  3. -> DateTime + format
  4. -> DateTime + getTimestamp
  5. -> date_create + date_format
  6. -> online

Ещё:обратную сторону

  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);

    Результат:

    1549366680

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

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

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

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

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

    Результат:

    1549366680

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

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

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

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

    echo $dateTime->getTimestamp();

    Результат:

    1549366680

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

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

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

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

    echo date_format($date, ‘U’);

    Результат:

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

    Результат:

    1549366680

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

  6. В форме ввода введите вашу дату, чтобы найти по ней временную метку — «timestamp»

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

Раз уж выше мы сделали перевод времени в метку времени, то и можно сделать наоборот…

В форме ввода введите метку времени «timestamp», чтобы найти по ней дату.

Последняя дата редактирования : 13.02.2021 22:58
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no

Getting a list of available time zone identifiers

Before we look at how to set the default time zone programmatically, let’s look at how to get a list of supported time zones.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

  HERE,

  • “$timezone_identifiers = DateTimeZone::listIdentifiers();” calls the listIdentifiers static method of the DateandTime Zone built in class.

    The listIdentifiers method returns a list of constants that are assigned to the variable $timezone_identifiers.

  • “foreach{…}” iterates through the numeric array and prints the values.

Assuming you saved the file list_time_zones.php in phptuts folder, browse to the URL http://localhost/phptuts/list_time_zones.php

PHP set Timezone Programmatically

The date_default_timezone_set function allows you to set the default time zone from a PHP script.

The set time zone will then be used by all date in PHP function scripts. It has the following syntax.

<?php
date_default_timezone_set ( string $timezone_identifier );
?>

HERE,

  • “date_default_timezone_set()” is the function that sets the default time zone
  • “string $timezone_identifier” is the time zone identifier

The script below displays the time according to the default time zone set in php.ini.

It then changes the default time zone to Asia/Calcutta and displays the time again.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

  Assuming you have saved the file set_time_zone.php in the phptuts folder, browse to the URL http://localhost/phptuts/set_time_zone.php

Formatting the Dates and Times with PHP

The format parameter of the function is in fact a string that can contain multiple characters allowing you to generate a date string containing various components of the date and time, like day of the week, AM or PM, etc. Here are some the date-related formatting characters that are commonly used in format string:

  • d — Represent day of the month; two digits with leading zeros (01 or 31)
  • D — Represent day of the week in text as an abbreviation (Mon to Sun)
  • m — Represent month in numbers with leading zeros (01 or 12)
  • M — Represent month in text, abbreviated (Jan to Dec)
  • y — Represent year in two digits (08 or 14)
  • Y — Represent year in four digits (2008 or 2014)

The parts of the date can be separated by inserting other characters, like hyphens (), dots (), slashes (), or spaces to add additional visual formatting.

Tip: You can use the PHP function to automatically update the copyright duration on your website, like:

Similarly you can use the following characters to format the time string:

  • h — Represent hour in 12-hour format with leading zeros (01 to 12)
  • H — Represent hour in in 24-hour format with leading zeros (00 to 23)
  • i — Represent minutes with leading zeros (00 to 59)
  • s — Represent seconds with leading zeros (00 to 59)
  • a — Represent lowercase ante meridiem and post meridiem (am or pm)
  • A — Represent uppercase Ante meridiem and Post meridiem (AM or PM)

The PHP code in the following example displays the date in different formats:

Преобразование формата даты и времени в PHP

Простейший механизм, позволяющий преобразовать числовое значение даты на более понятные значения, предоставляется функцией:

Она возвращает ассоциативный массив, содержащий информацию о дате. Если параметр timestamp не указан, будут возвращены сведения о текущем времени. Этот массив содержит следующие значения:

seconds секунды (0-59)
minutes минуты (0-59)
hours часы (0-23)
mday день месяца (1-31)
wday день недели (0-6), начиная с воскресенья
mon месяц (1-12)
year год
yday день года (0-365)
weekday название дня недели (например, Monday)
month название месяца (например, January)
количество секунд, прошедших с начала Эпохи Unix

Полученный массив, позволяет вывести значения нужном виде:

Так же для преобразования формата даты и времени можно воспользоваться функцией:

Она предназначена для получения текущей даты unix timestamp в нужном формате. Строковый параметр $template определяет формат вывода. Параметром $unix_timestamp можно задать, с каким значением времени производится работа. Он необязательный, поэтому, если его не указать, будет использоваться текущая дата и время.

Формат задается следующими значениями:

a «до» и «после» полудня: «am» или «pm»
A «до» и «после» полудня заглавными буквами: «AM» или «PM»
d день месяца 2 цифрами (если меньше 10, на первом месте ноль) (от 01 до 31)
D день недели 3 буквами. Например, «Mon» (понедельник)
j день месяца, 1-2 цифры без начальных нулей (от 1 до 31)
F название месяца. Например, «January»
h час, 12-часовой формат (от 01 до 12)
H час, 24-часовой формат (от 00 до 23)
g час, 12-часовой формат без нулей (от 1 до 12)
G час, 24-часовой формат без нулей (от 0 до 23)
i минуты (от 00 до 59)
I (заглавная i) 1, если действует переход на летнее время, иначе 0
L 1, если год високосный, или 0 если не високосный
B время в формате Интернет-времени (альтернативной системы отсчета времени суток) (от 000 до 999)
T временная зона компьютера. Например, MDT
l (строчная L) день недели. Например, «Monday»
m месяц, две цифры с нулями (от 01 до 12)
n месяц, одна-две цифры без нулей (от 1 до 12)
M сокращенное наименование месяца. Например, «Jan»
t число дней в указанном месяце (от 28 до 31)
s секунды (от 0 до 59)
S англоязычный порядковый суффикс числа из двух букв («st», «nd», «rd» или «th»)
U целое число секунд, прошедших с момента начала эпохи UNIX
y год, цифровой, 2 цифры (14)
Y год, цифровой, 4 цифры (2014)
z порядковое число дня в году (от 0 до 365)
Z смешение временной зоны в секундах (от -43200 до 43200)
N порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье) в соответствии со стандартом ISO-8601, (добавлен в версии PHP 5.1.0)
w порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)
W порядковый номер недели года в соответствии со стандартом ISO-8601; недели начинаются с понедельника (добавлено в версии PHP 4.1.0)
o номер года в соответствии со стандартом ISO-8601. Имеет то же значение, что и Y, кроме случая, когда номер недели ISO (W) принадлежит предыдущему или следующему году; тогда будет использован год этой недели. (добавлен в версии PHP 5.1.0)
e код шкалы временной зоны. Например: UTC, GMT, Atlantic/Azores (добавлен в версии PHP 5.1.0)
O разница с временем по Гринвичу, в часах. Например: +0200
P разница с временем по Гринвичу с двоеточием между часами и минутами. Например: +02:00 (добавлено в версии PHP 5.1.3)
c дата в формате стандарта ISO 8601. Например, 2014-12-12T15:19:21+00:00 (добавлено в PHP 5)
r дата в формате » RFC 2822. Например: Thu, 21 Dec 2000 16:01:07 +0200
U количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970 00:00:00 GMT)

Как видно из списка, с помощью этой функции можно получить очень много полезных данных о дате. Например:

Другие символы, входящие в шаблон, будут выведены в строке как есть. Если же потребуется ввести символ, который используется в функции как код формата, перед ними вставляется символ «\». Для значения «\n» (символ перехода на новую строку), следует указать «\\n». Таким образом, можно делать вывод целого сообщения, содержащего сведения о дате и времени:

Example

Following example creates a new date using the date_format() method −

<?php
   $dateSrc = '2005-04-19 12:50 GMT';
   $dateTime = date_create( $dateSrc);;
   # Now set a new date using date_format();
   date_format( $dateTime, 2000, 12, 12);
   
   echo "New Formatted date is ". $dateTime->format("Y-m-d\TH:i:s\Z");
   echo "";

   # Using second function.
   $dateTime = new DateTime($dateSrc);
   $dateTime->setDate( 1999, 10, 12);
   
   echo "New Formatted date is ". $dateTime->format("Y-m-d\TH:i:s\Z");
?>

This produces the following output −

New Formatted date is 2000-12-12T12:50:00Z
New Formatted date is 1999-10-12T12:50:00Z

Описание time и mktime

Уже упоминалось, что time возвратит количество секунд с начала т. н. эпохи Unix и вплоть до текущего времени. Однако на практике эта функция чаще используется не в «чистом виде», а вместе с иными функциями.

Для начала займёмся её использованием вместе с меткой текущей даты:

<?php
$now = time(); // метка 
echo $now;  

$nextWeek = time() + (7 * 24 * 60 * 60); // 7 дней; 24 ч.; 60 мин.; 60 сек.
echo $nextWeek; // будет выведено что-то вроде 16026782231603283023

А теперь используем её же, но уже совместно с date(). Давайте выведем текущую дату двумя способами, а потом выведем дату, которая наступит через неделю:

<?php
    $now = time();
$nextWeek = time() + (7 * 24 * 60 * 60);

// Первый способ вывода даты                   
echo 'Сегодня: '. date('Y-m-d') ."\n";

// Второй способ вывода                    
echo 'Сегодня: '. date('Y-m-d', $now) ."\n";

// Дата через неделю
echo 'Через неделю будет: '. date('Y-m-d', $nextWeek) ."\n";

Теперь стоит поговорить о том, каким образом с функцией time используется mktime. Именно mktime возвращает метки времени Unix для даты, которую укажет пользователь.

Аргументы могут быть разные, а также опущены справа налево:

Лучше всего рассмотреть вышеописанное на примере. Давайте выведем в терминал:
— текущую полную дату и время (часы, минуты, секунды);
— время и дату завтрашнего дня;
— время и дату следующего месяца того же дня;
— ту же дату, но уже прошедшего года.

<?php
// выводим текущую дату и время
echo date("r"); 

// создание метки для завтрашнего дня
$tomorrow = mktime(,,,date("m"),date("d")+1, date("Y"));
echo date("r", $tomorrow); 

// создание метки для следующего месяца
$nextmonth = mktime(,,,date("m")+1,date("d"), date("Y"));
echo date("r", $nextmonth ); 

// метка для прошлого года
$lastyear= mktime(,,,date("m")+1,date("d"), date("Y")-1);
echo date("r", $lastyear); 

На этом всё

Если интересуют более сложные и продвинутые знания по PHP, обратите внимание на соответствующий курс в OTUS!

По материалам статей:
— https://labs-org.ru/php-6/;
— https://space-base.ru/library/php/rabota-s-datoj-i-vremenem-v-php.

Frequently Asked Questions About date() in PHP

There are some common questions about getting different kinds of information from the  function in PHP that pop up every now and then. We will try to answer all of them here.

How Do I Get the Current Year in PHP?

You can get the current year in PHP by using  or . Using a capital Y will give you all the digits of the current year, like 2021. Using the small y will only give you the last two digits, like 21.

What Is the Right Way to Get the Current Month in PHP?

There are four different characters for getting the current month in PHP, depending on the format you want. You can use the capital letter F to get the full name of the month, like February, or get the month in a shorter three-letter format by using M.

You can also get the current month in numerical terms by using m and n, which will give you the month with and without leading zeroes respectively.

How Can I Get the Day of the Week in PHP?

You can also get the day of the week in PHP by using four different characters. The capital D will give you a three-letter representation of the day of the week, like Mon or Tue. Using an l (lowercase L) will give you the full name of the day of the week.

You can get a numerical value between  (for Sunday) and 6 (for Saturday) for the days of a week by using w.

How Do I Get the Current Time in 12-Hour Format in PHP?

You can get the current time of the day in a 12-hour format by using g or h. With g, you will get the time without any leading zeroes, while h will add some leading zeroes. The AM or PM can be added by using a (for small letters) or A (for capital letters).

Can I Get the Current Time in 24-Hour Format in PHP?

Using the characters G and H will give you the current hour of the day in 24-hour format. You won’t get any leading zeroes with G, but H will add leading zeroes.

What Is the Best Way to Escape Characters in a Date Format?

The  function accepts a string as its parameter, but many characters have a well-defined meaning, like Y for year and F for a month. This means that using these characters directly as part of a string may not always have the desired results.

If you want the  function to output these characters, then you have to escape them first. Here is an example:

Some of the characters, like t, need two backslashes because \t is meant for tabs. If possible, it is advisable to just put the regular string that you want to echo outside . Otherwise, you will be escaping a lot of characters.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector