Php date and time

Date/Time to Timestamp Conversion

strtotime() and mktime() functions are also used to convert specified date into the form of a timestamp.

For using strtotime(), we need to pass the date with any one of PHP supported date format, for example, dd/mm/yyyy, mm/dd/yyyy and etc. And, for using mktime(), we need to explode the given date and send the exploded components to this function.

And, we can perform the reverse, that is, converting timestamp value to date, by the use of date() function. For that, we should specify the required date format as the first parameter, and timestamp as the second one. For example,

<?php
$date_from_timestamp = date("d-m-Y",$current_timestamp);
echo "Formatted date from timestamp:" . $date_from_timestamp;
?>

Note:

  • These operations can also be performed in the object oriented style of programming, with the PHP functions defined under DateTime class interface.
  • On the other hand, certain PHP timestamp functions are in procedural style, which is the alias of class constructors defined for PHP DateTime object model.

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:

Описание

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().

PHP5 предопределенные константы даты и времени

Констант Описание
DATE_ATOM Atom (пример: 2005-08-15T16:13:03+0000)
DATE_COOKIE HTTP Cookies (пример: Sun, 14 Aug 2005 16:13:03 UTC)
DATE_ISO8601 ISO-8601 (пример: 2005-08-14T16:13:03+0000)
DATE_RFC822 RFC 822 (пример: Sun, 14 Aug 2005 16:13:03 UTC)
DATE_RFC850 RFC 850 (пример: Sunday, 14-Aug-05 16:13:03 UTC)
DATE_RFC1036 RFC 1036 (пример: Sunday, 14-Aug-05 16:13:03 UTC)
DATE_RFC1123 RFC 1123 (пример: Sun, 14 Aug 2005 16:13:03 UTC)
DATE_RFC2822 RFC 2822 (Sun, 14 Aug 2005 16:13:03 +0000)
DATE_RSS RSS (Sun, 14 Aug 2005 16:13:03 UTC)
DATE_W3C Консорциум Всемирной паутины (пример: 2005-08-14T16:13:03+0000)

Функция PHP mktime()

Необязательный параметр функции указывает временную метку. Если она не указано, будут использоваться текущая дата и время (как в примерах выше).

Но если вам нужно получить метку времени в прошлом или будущем, то сделать это можно с помощью функции . Вам нужно указать нужную дату, и она возвращается с меткой времени Unix. Метка времени Unix содержит количество секунд между эпохой Unix (1 января 1970 г., 00:00:00 GMT) и указанным временем.

Синтаксис данной функции следующий:

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

Здесь используются следующие данные:

Количество часов, прошедших с начала дня, указанного параметрами month, day и year.
Количество минут, прошедших от начала часа, указанного параметром hour.
Количество секунд, прошедших от начала минуты, указанной параметром minute.
Количество месяцев, прошедших с конца предыдущего года.
Количество дней, прошедших с конца предыдущего месяца.
Номер года, может быть указан двумя или четырьмя цифрами.

Аргументы могут быть опущены в порядке справа налево. В этом случае их значения по умолчанию равны соответствующим компонентам локальной даты/времени.

Функцию удобно использовать для выполнения арифметических операций с датами, так как она вычисляет верные значения при некорректных аргументах. Например, в следующем примере каждая строка выведет «Jan-01-1921»:

Поробуй сам

Если вы хотите получить дату завтрашнего дня, вы можете использовать следующий код:

Поробуй сам

В приведенном примере мы использовали функцию и добавили 1 день к параметру дня, чтобы получить дату завтрашнего дня.

Функция переводит заданную дату в формат . Формат timestamp — это количество секунд, прошедшее с 1-го января 1970 года по заданный момент времени.

В следующем примере получим разницу в секундах между 1970 годом и 31.12.2025, 12:59:59:

What is a TimeStamp?

 A timestamp in PHP is a numeric value in seconds between the current time and value as at 1st January, 1970 00:00:00 Greenwich Mean Time (GMT).

 The value returned by the time function depends on the default time zone.

The default time zone is set in the php.ini file.

It can also be set programmatically using date_default_timezone_set function.

The code below displays the current time stamp

<?php

echo time();

?>

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

Note: the value of the timestamp PHP is not a constant. It changes every second.

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

Способ #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.';

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

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?

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

The PHP Date() Function

The PHP function convert a timestamp to a more readable date and time.

The computer stores dates and times in a format called UNIX Timestamp, which measures time as a number of seconds since the beginning of the Unix epoch (midnight Greenwich Mean Time on January 1, 1970 i.e. January 1, 1970 00:00:00 GMT ).

Since this is an impractical format for humans to read, PHP converts a timestamp to a format that is readable to humans and dates from your notation into a timestamp the computer understands. The syntax of the PHP function can be given with.

date(format, timestamp)

The format parameter in the function is required which specifies the format of returned date and time. However the timestamp is an optional parameter, if not included then current date and time will be used. The following statement displays today’s date:

Example

Run this code

Note: The PHP function return the current date and time according to the built-in clock of the web server on which the script has been executed.

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

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

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

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

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

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

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

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

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

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

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

Вместо предисловия

Среди задач, с которыми регулярно сталкивается программист, очень часто встречаются разнообразные манипуляции с датами (dates) и временем (time). Никто не будет спорить с тем, что эти значения (символы, параметры) чрезвычайно важны. И база данных, и любая цифровая автоматизированная система не способны корректно работать, если нет точного времени, а также если информация о времени выполнения того либо иного процесса не сохраняется. Вот лишь некоторые примеры использования временных параметров:
— элементарное добавление даты в запись БД;
— отображение времени;
— вывод дат в различном формате;
— проверка текущего времени на соответствие заданному таймеру;
— определение срока между 2-мя датами и так далее.

Чтобы работать со временем было удобно, у каждого языка программирования имеются специальные типы данных, позволяющие хранить соответствующие значения. Обычно речь идёт о числовом значении, как целом, так и с плавающей точкой.

В языке программирования PHP работу со временем символизирует UNIX TIMESTAMP. То есть время тут хранится в виде целого числа, а его исчисление начинается с полуночи 1.01.1970 — с так называемой нулевой даты, принятой в Unix и прочих POSIX-совместимых ОС (ещё эту дату называют «Unix-время»). В результате возвращается число секунд, которое прошло с начала Эпохи Unix.

Прежде чем приступить к дальнейшему изложению материала, следует определить текущее значение времени в формате UNIX TIMESTAMP. Делается это с помощью простейшего кода и функции time:

<?php
echo time();

На момент написания материала было 14 октября 2020 года, поэтому в терминале отобразилось следующее:

1602666005                                                                                                                    

Вы можете проверить вышеописанную команду и получить в PHP текущую дату и время самостоятельно, даже если не являетесь PHP-разработчиком — просто поместите код в любой онлайн-компилятор, вот один из многих. Так же рекомендуется делать и с остальным кодом — это поможет вам лучше понять работу описываемых в статье команд.

Но вернёмся к основной теме разговора. Благодаря коротенькому коду выше, мы получили от сервера текущее время — 1602666005 (у вас значение будет другим, ведь время не стоит на месте))).

Можно согласиться с тем, что для человека такой формат не очень удобен. Но на деле, чем проще представление данных, тем быстрее осуществляется обработка этих данных компьютерным устройством. Да и хранить такие значение в БД в плане ресурсов экономнее, чем при использовании специальных форматов. В итоге PHP работает со значениями времени одинаково на разных платформах (и Unix, и Windows), в результате чего обеспечивается универсальность использования кода.

Если же говорить об удобстве пользователя, то у разработчиков есть масса средств это удобство обеспечить.

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() Возвращает версию базы данных часового пояса

Функция date

Эта функция возвратит пользователю строку в форме даты/времени, сделав это в определённом формате. Формат этот определяет сам пользователь.

Синтаксис функции выглядит так:

date($format);

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

Теперь давайте попробуем, как эта таблица работает на практике. Выведем текущий день недели:

<?php
echo date("l");

У меня получился Wednesday, а вот что отобразится в консоли у вас, зависит от дня недели, в который вы напишете эту команду.

Теперь выведем дату в виде YYYY-ММ-DD:

<?php
echo date('Y-m-d');

А потом и дату, и время:

<?php
echo date('l jS \of F Y h:i:s A');

Getting Current Timestamp in PHP

We can get current timestamp value in three possible ways with the help of PHP core functions described here.

time()

This is the simple and widely used PHP function to get current timestamp value. It requires no arguments to be sent for returning expected resultant UNIX timestamp. The usage of this simple function is shown in the example PHP program below.

<?php
$current_timestamp = time();
echo $current_timestamp;
?>

strtotime()

This function is mainly used to get timestamp value from the given string representing date value. PHP provides a list of supported strings to be passed as an argument of this function to denote date values. For example, “Tuesday last week”, “+1 week”, “21 November 2008” and etc.

similarly, for getting current timestamp value, we need to provide the string as “now” representing current date and time value. So, the code will be as follows.

<?php
$current_timestamp = strtotime("now");
echo $current_timestamp;
?>

While invoking strtotime() by passing improper string data which is not supported by PHP, this function will return false.

mktime()

This function is also used to get UNIX timestamp but requires set of parameters denoting date components, like an hour, minute, second, month, day, year, in the same order specified here. And also have an optional flag representing daylight saving time state.

And for getting, the current timestamp, we have to use the PHP date() function within this function, with the corresponding parameter for getting the current hour, minute, in required order. For example,

<?php
$current_timestamp_by_mktime = mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));
echo $current_timestamp_by_mktime;
?>

microtime()

All the above PHP timestamp functions will return only the 10 digit timestamp value. But, while executing microtime() function, it will return the number of second elapsed since, UNIX Epoch, and also, the number of microseconds elapsed since seconds value returned by this function.

microtime() is same as time() functions, which doesn’t require any parameter, but, there is an optional parameter $get_as_float. This parameter will accept boolean values for it. If it is TRUE, then microtime() will return float value representing accurate timestamp, otherwise, will return “microseconds seconds” formatted string. And the code is,

<?php
$current_timestamp_string = microtime();
echo $current_timestamp_string;
$current_timestamp_float = microtime(TRUE);
echo $current_timestamp_float;
?>

date()

PHP supports several date format characters denoting components of the date value. So, we can use these list of date formatting characters to get date components or to format date if required, using given temporal data.

From the list of those string, U denotes UNIX timestamp value. So, for date() function, we should specify U as an argument to get current timestamp value. For example,

<?php
$current_timestamp_fndate = date("U");
echo $current_timestamp_fndate;
?>

Format String

There are certain characters with predefined meaning using which you can create a format string They are:

  • d − The day of the month (from 01 to 31)

  • D − A textual representation of a day (three letters)

  • j − The day of the month without leading zeros (1 to 31)

  • l (lowercase ‘L’) − A full textual representation of a day

  • N − The ISO-8601 numeric representation of a day (1 for Monday through 7 for Sunday)

  • S − The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)

  • w − A numeric representation of the day (0 for Sunday through 6 for Saturday)

  • z − The day of the year (from 0 through 365)

  • W − The ISO-8601 week number of year (weeks starting on Monday)

  • F − A full textual representation of a month (January through December)

  • m − A numeric representation of a month (from 01 to 12)

  • M − A short textual representation of a month (three letters)

  • n − A numeric representation of a month, without leading zeros (1 to 12)

  • t − The number of days in the given month

  • L − Whether it’s a leap year (1 if it is a leap year, 0 otherwise)

  • o − The ISO-8601 year number

  • Y − A four digit representation of a year

  • y − A two digit representation of a year

  • a − Lowercase am or pm

  • A − Uppercase AM or PM

  • B − Swatch Internet time (000 to 999)

  • g − 12-hour format of an hour (1 to 12)

  • G − 24-hour format of an hour (0 to 23)

  • h − 12-hour format of an hour (01 to 12)

  • H − 24-hour format of an hour (00 to 23)

  • i − Minutes with leading zeros (00 to 59)

  • s − Seconds, with leading zeros (00 to 59)

  • e − The timezone identifier (Examples: UTC, Atlantic/Azores)

  • I (capital i) − Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)

  • O − Difference to Greenwich time (GMT) in hours (Example: +0100)

  • T − Timezone setting of the PHP machine (Examples: EST, MDT)

  • Z − Timezone offset in seconds. The offset west of UTC is negative, and the offset east of UTC is positive (-43200 to 43200)

  • c − The ISO-8601 date (e.g. 2004-02-12T15:19:21+00:00)

  • r − The RFC 2822 formatted date (e.g. Thu, 21 Dec 2000 16:01:07 +0200)

  • U − The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)

php_function_reference.htm

Previous Page
Print Page

Next Page  

PHP Timestamps

The PHP timestamp is a Unix timestamp that tracks the number of seconds since January 1, 1970 because we apparently believe milliseconds are useless. Nevertheless, let’s create a timestamp.

Example

echo time();

Result 1359780799

So, we just use PHP’s time function with default parameters to create a timestamp of this very moment (well, the moment I created this tutorial). Why would we want something like that when users cannot understand its format? First, it is a very consistent and easy to manipulate number. Second, I will show you how to format the timestamp into PHP dates and times in just a second. Also, note if you just want the current time, you should use time, but you should use mktime for custom datetimes.

Объем использованной памяти

Функция возвращает количество памяти в байтах, которое было выделено PHP скрипту на данный момент.

Принцип очень похож на измерение времени выполнения скрипта, о котором речь шла выше. Здесь тоже есть, как бы, стартовое состояние и и разница между текущим состоянием и стартовым.

$memory = memory_get_usage();
 
// исполняемый код ...
 
echo 'Скушано памяти: ' . (memory_get_usage() - $memory) . ' байт';

В есть функция , которая возвращает тот же результат.

// исполняемый код ...
 
echo 'Скушано памяти: ' . xdebug_memory_usage() . ' байт';

Результат:

Скушано памяти: 36018960 байт

Конвертация результата в килобайты и мегабайты

$memory = memory_get_usage();
 
for ($i = 0; $i < 1000000; $i++) {
 $array[] = rand(0, 1000000);
}
 
$memory = memory_get_usage() - $memory;
// Конвертация результата в килобайты и мегабайты 
$i = 0;
while (floor($memory / 1024) > 0) {
  $i++;
  $memory /= 1024;
}
 
$name = array('байт', 'КБ', 'МБ');
echo 'Скушано памяти: ' . round($memory, 2) . ' ' . $name;

Результат:

Скушано памяти: 34 МБ
Добавить комментарий

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

Adblock
detector