Php получить текущее время пользователя

Получение даты и времени в PHP. Функция date

В этой статье будет рассмотрено, как работать с датой и временем в языке программирования PHP. Также читатель узнает о таких функциях для работы со временем, как date() , time() и mktime() .

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

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

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

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

Читайте также:  METANIT.COM

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

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

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

Screenshot_1-1801-634308.png

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

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

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

Функция date

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

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

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

Screenshot_2-1801-352c65.pngScreenshot_3-1801-6267df.png

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

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

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

Описание time и mktime

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

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

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

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

 
* 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 для даты, которую укажет пользователь.

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

Screenshot_4-1801-fb71f6.png

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

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

Источник

localtime

Функция localtime() возвращает массив, аналогичный по структуре, возвращаемой соответствующей функцией C.

Список параметров

Необязательный параметр timestamp представляет собой метку времени типа int , по умолчанию равную текущему локальному времени, если timestamp не указан или null . Другими словами, значение по умолчанию равно результату функции time() .

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

Возвращаемые значения

Если associative установлен в false или не передан, то возвращается обычный массив с числовыми индексами. Если для параметра associative установлено значение true , то функция localtime() вернёт ассоциативный массив, содержащий элементы структуры, возвращённые вызовом C-функции localtime. Ключи ассоциативного массива следующие:

  • "tm_sec" - секунды, с 0 до 59
  • "tm_min" - минуты, с 0 до 59
  • "tm_hour" - часы, с 0 до 23
  • "tm_mday" - день месяца, с 1 до 31
  • "tm_mon" - месяц года, с 0 (январь) до 11 (декабрь)
  • "tm_year" - количество лет, прошедших с 1900 г.
  • "tm_wday" - день недели, с 0 (воскресенье) до 6 (суббота)
  • "tm_yday" - порядковый номер дня в году, с 0 до 365
  • "tm_isdst" - действует ли летнее время? Положительное значение, если учитывается, 0 , если не учитывается, отрицателен, если неизвестно.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках часового пояса сгенерирует ошибку уровня E_WARNING , если часовой пояс некорректный. Смотрите также date_default_timezone_set()

Список изменений

Версия Описание
8.0.0 timestamp теперь допускает значение null.

Примеры

Пример #1 Пример использования localtime()

$localtime = localtime ();
$localtime_assoc = localtime ( time (), true );
print_r ( $localtime );
print_r ( $localtime_assoc );
?>

Результатом выполнения данного примера будет что-то подобное:

Array ( [0] => 24 [1] => 3 [2] => 19 [3] => 3 [4] => 3 [5] => 105 [6] => 0 [7] => 92 [8] => 1 ) Array ( [tm_sec] => 24 [tm_min] => 3 [tm_hour] => 19 [tm_mday] => 3 [tm_mon] => 3 [tm_year] => 105 [tm_wday] => 0 [tm_yday] => 92 [tm_isdst] => 1 )

Смотрите также

User Contributed Notes

  • Функции даты и времени
    • checkdate
    • date_​add
    • date_​create_​from_​format
    • date_​create_​immutable_​from_​format
    • date_​create_​immutable
    • date_​create
    • 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
    • date_​interval_​format
    • date_​isodate_​set
    • 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
    • date_​timestamp_​set
    • date_​timezone_​get
    • date_​timezone_​set
    • date
    • getdate
    • gettimeofday
    • gmdate
    • gmmktime
    • gmstrftime
    • idate
    • localtime
    • microtime
    • mktime
    • strftime
    • strptime
    • strtotime
    • time
    • timezone_​abbreviations_​list
    • timezone_​identifiers_​list
    • timezone_​location_​get
    • timezone_​name_​from_​abbr
    • timezone_​name_​get
    • timezone_​offset_​get
    • timezone_​open
    • timezone_​transitions_​get
    • timezone_​version_​get

    Источник

    Php получить текущее время пользователя

    • Different ways to write a PHP code
    • How to write comments in PHP ?
    • Introduction to Codeignitor (PHP)
    • How to echo HTML in PHP ?
    • Error handling in PHP
    • How to show All Errors in PHP ?
    • How to Start and Stop a Timer in PHP ?
    • How to create default function parameter in PHP?
    • How to check if mod_rewrite is enabled in PHP ?
    • Web Scraping in PHP Using Simple HTML DOM Parser
    • How to pass form variables from one page to other page in PHP ?
    • How to display logged in user information in PHP ?
    • How to find out where a function is defined using PHP ?
    • How to Get $_POST from multiple check-boxes ?
    • How to Secure hash and salt for PHP passwords ?
    • Program to Insert new item in array on any position in PHP
    • PHP append one array to another
    • How to delete an Element From an Array in PHP ?
    • How to print all the values of an array in PHP ?
    • How to perform Array Delete by Value Not Key in PHP ?
    • Removing Array Element and Re-Indexing in PHP
    • How to count all array elements in PHP ?
    • How to insert an item at the beginning of an array in PHP ?
    • PHP Check if two arrays contain same elements
    • Merge two arrays keeping original keys in PHP
    • PHP program to find the maximum and the minimum in array
    • How to check a key exists in an array in PHP ?
    • PHP | Second most frequent element in an array
    • Sort array of objects by object fields in PHP
    • PHP | Sort array of strings in natural and standard orders
    • How to pass PHP Variables by reference ?
    • How to format Phone Numbers in PHP ?
    • How to use php serialize() and unserialize() Function
    • Implementing callback in PHP
    • PHP | Merging two or more arrays using array_merge()
    • PHP program to print an arithmetic progression series using inbuilt functions
    • How to prevent SQL Injection in PHP ?
    • How to extract the user name from the email ID using PHP ?
    • How to count rows in MySQL table in PHP ?
    • How to parse a CSV File in PHP ?
    • How to generate simple random password from a given string using PHP ?
    • How to upload images in MySQL using PHP PDO ?
    • How to check foreach Loop Key Value in PHP ?
    • How to properly Format a Number With Leading Zeros in PHP ?
    • How to get a File Extension in PHP ?
    • How to get the current Date and Time in PHP ?
    • PHP program to change date format
    • How to convert DateTime to String using PHP ?
    • How to get Time Difference in Minutes in PHP ?
    • Return all dates between two dates in an array in PHP
    • Sort an array of dates in PHP
    • How to get the time of the last modification of the current page in PHP?
    • How to convert a Date into Timestamp using PHP ?
    • How to add 24 hours to a unix timestamp in php?
    • Sort a multidimensional array by date element in PHP
    • Convert timestamp to readable date/time in PHP
    • PHP | Number of week days between two dates
    • PHP | Converting string to Date and DateTime
    • How to get last day of a month from date in PHP ?
    • PHP | Change strings in an array to uppercase
    • How to convert first character of all the words uppercase using PHP ?
    • How to get the last character of a string in PHP ?
    • How to convert uppercase string to lowercase using PHP ?
    • How to extract Numbers From a String in PHP ?
    • How to replace String in PHP ?
    • How to Encrypt and Decrypt a PHP String ?
    • How to display string values within a table using PHP ?
    • How to write Multi-Line Strings in PHP ?
    • How to check if a String Contains a Substring in PHP ?
    • How to append a string in PHP ?
    • How to remove white spaces only beginning/end of a string using PHP ?
    • How to Remove Special Character from String in PHP ?
    • How to create a string by joining the array elements using PHP ?
    • How to prepend a string in PHP ?

    Источник

Оцените статью