Php получить время часы

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

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

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

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

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

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

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

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

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

Читайте также:  Java running new threads

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!

Источник

time

Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).

Note:

Unix timestamps do not contain any information with regards to any local timezone. It is recommended to use the DateTimeImmutable class for handling date and time information in order to avoid the pitfalls that come with just Unix timestamps.

Parameters

This function has no parameters.

Return Values

Returns the current timestamp.

Examples

Example #1 time() example

The above example will output something similar to:

Notes

Timestamp of the start of the request is available in $_SERVER['REQUEST_TIME'] .

See Also

  • DateTimeImmutable
  • date() - Format a Unix timestamp
  • microtime() - Return current Unix timestamp with microseconds

User Contributed Notes 1 note

time() gives the timestamp of Greenwich Mean Time (GMT) which is defined as the official time for the whole earth. You get the local time by adding the time zone offset to this timestamp.

  • Date/Time Functions
    • 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

    Текущая дата и время в php

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

    Функция date предназначена как для выведения времени и даты, так и преобразования временной метки в нужный формат. Метка представляет собой количество секунд, которые прошли с даты основания linux. Для получения данного числа существует функция time (), а наличие временной метки в date необязательно.

    Для выведения даты в нужном вам формате вы можете воспользоваться модификаторами, приведенными в первом параметре.

    Параметр Описание Что возвращает a нижний регистр, выведение am или pm "am" или "pm" A верхний регистр, выведение AM или PM "AM" или "PM" d текущий день, 2 цифры с первым 0 "01"-"31" F Полное название месяца «February» g 12-часовой формат времени, 0 в начале отсутствует "1" до "12" G 24-часовой формат времени, с отсутствием в начале 0 "0"-"24" h часы, 12-часовой формат, первый ноль. "01"-"12" H часы, 24-часовой формат, первый ноль. "00" до "24" i минуты "00"-"59"
    I 1 (день) и 0 (ночь) "1","0" j текущий день, 2 цифры без 0 в начале "1"-"31" l Полное название текстом текущего дня недели "Monday" L 1 — если високосный год, в других случаях ноль "1"-0" m Месяц с 0 в начале "01"-12" M Первые три буквы названия текущего месяца “Feb” n месяц (без нуля в начале) «1»- «12» r вывод времени и даты в формате RFC 822 "Thu, 21 Dec 2000 16:01:07 +0200" s секунды. "00" до "59" S Английское окончание "th" или "nd" t Число дней в месяце "28"-"31" T Часовой пояс "MDT" U Число секунд с начала века "999869506" w День недели по счету "0"(вс)-"6"(сб) Y Год в виде 4 цифр "2015" y Год в виде 2 цифр "15" z день в году "0"-"365" Z часовой пояс от Гринвича, выраженный в секундах (положительная для востока, отрицательная для запада) "-43200" - "43200"

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

    echo (date("d = F = Y ")); //Выведет 04 = September = 2001 echo (date("l dS of F Y h:I:s A")); 

    Выведет Tuesday 04th of September 2001 05:1:28 PM
    Обратите внимание на ds = 04th , d -день и s - окончание

    Также вы можете присвоить функцию элементу массива или переменной.

    $date_today = date("m.d.y"); //присвоено 12.03.15 $today[1] = date("H:i:s"); //присвоит 1 элементу массива 18:32:17 echo("Текущее время: $today[1] и дата: $date_today ."); 

    Получим: Текущее время: 18:32:17 и дата: 12.03.15

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

    $examp = date ("H:m:s \m \i\s \m\o\n\t\h");` //Выведет 18:32:17 m is month 

    Источник

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