Отримання поточної дати у php. Використовуємо функцію date() у PHP. Подання дати та часу

Для роботи з датами PHP застосовуються різні функції. Ми почнемо вивчення з функції time.

Функція time, формат timestamp

Функція timeповертає різницю в секундах між 1 січня 1970 рокуі поточним моментом часу. Таке подання дати називається форматом timestamp.

Навіщо потрібен timestamp?

Час у форматі timestampвикористовується для того, щоб знайти різницю між датами за секунди.

Наприклад, у мене є timestamp за 1-го січня поточного рокута timestamp за поточний момент часу. Я заберу один від одного і отримаю різницю між цими моментами за секунди.

Поділю цю різницю на 60 і отримаю різницю в хвилинах (оскільки в хвилині 60 секунд). Поділю ще на 60 - і отримаю різницю в годиннику. І так далі. timeЗа допомогою функції ми можемо отримати лише поточний час.Щоб отримати timestamp за будь-яку дату:

слід використовувати функцію

Функція будь-яку дату mktime timeФункція mktime працює аналогічно до функційале, на відміну від неї, приймає параметри: mktime(година, хвилина, секунда, місяць, день, рік)(Зверніть увагу на те, що

місяць та день переставлені місцями). Перегляньте приклади роботи:

Параметри можна опускати з кінця . Якщо ми не напишемо рік (останній параметр) – то автоматично візьметься поточний рік, якщо не напишемо ще й день (передостанній параметр) – то візьметься поточний день та поточний рік. І так далі:Вирішимо типову timeі будь-яку датузавдання на. Нехай нам потрібно знайти

різницю в секундахміж поточним моментом часу та полуднем (12 годин, 0 хвилин, 0 секунд) 1 лютого (лютий - це місяць номер 2) 2000 року: 612717139 Отримана різниця в секундах

виглядатиме так: timestamp(оновіть сторінку, і це число зміниться).

Озброївшись знаннями про те, що таке формат

Функція (він нам ще знадобиться надалі), вивчимо корисні функції для роботи з датами, наприклад, функцію date.Функція date

dateвиводить поточну дату та час у заданому форматі.

Формат (задається керуючими командами (англійськими літерами), при цьому можна вставляти будь-які роздільники між ними (дефіси, двокрапки і так далі).Команди

  • великі літери відрізняються від звичайних, Зверніть увагу!):
  • U- Кількість секунд, що пройшли з 1 січня 1970 року (тобто timestamp).
  • z– номер дня з початку року.
  • Y- Рік, 4 цифри.
  • y- Рік, дві цифри.
  • m- Номер місяця (з нулем спереду).
  • n– номер дня на місяці, завжди дві цифри (тобто перша може бути нулем).
  • j– номер дня на місяці без попереднього нуля.
  • w– день тижня (0 – неділя, 1 – понеділок тощо).
  • h– годинник у 12-годинному форматі.
  • H– годинник у 24-годинному форматі.
  • i– хвилини.
  • s– секунди.
  • L- 1, якщо високосний рік, 0, якщо не високосний.
  • W- Порядковий номер тижня року.
  • t– кількість днів у вказаному місяці.

Приклади роботи з date:

Другий параметр функції date

Функція (він нам ще знадобиться надалі), вивчимо корисні функції для роботи з датами, наприклад, функцію date.має другий необов'язковий параметрщо приймає момент часу у форматі timestamp. Якщо передати цей параметр, то функція date відформатує не поточний час, а той, який переданий другим параметром. Цей timestampможна отримати, наприклад, через будь-яку дату(але не обов'язково):

Цим можна скористатися, щоб дізнатися номер дня тижня за певну дату - просто передамо його другим параметром за допомогою функції будь-яку дату, а першим параметром поставимо керуючий символ "w":

Функція strtotime

Наступна корисна функція, яку ми розберемо, називається strtotime.

Функція strtotime- це аналог функції mktime (теж повертає timestamp), тільки на відміну від неї приймає дату в більшевільному форматі.

Наприклад, я можу передати їй рядок "2025-12-31" і функція сама розбере, де тут рік, де місяць, а де день, і поверне цю дату у форматі timestamp.

Що можна робити ще: можна написати так - strtotime("now")- і ми отримаємо поточний момент часу, або так - strtotime("Next Monday")- і ми отримаємо наступний понеділок (Monday англійською "понеділок").

Всі формати можна переглянути.

Приклади роботи:

Наступний код поверне дату попереднього понеділка:

Як додати або відібрати дату

Щоб забрати або додати до дати певний проміжок часу, слід скористатися комбінацією з трьох функцій: date_create - вона готує дату до роботи (дата має бути у форматі рік-місяць-день) створюючи так званий об'єкт дата, з яким проводяться подальші маніпуляції, date_modify - вона додає або забирає, date_format - вона виводить дату, що вийшла, в заданому форматі. Щоб почати роботу з цими функціями, вивчіть приклади нижче.

Приклад 1

Давайте створимо об'єкт з датою за 2025 рік, 12 місяць, 31 день, потім додамо до неї 1 день і виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Приклад 2

Давайте створимо об'єкт з датою за 2025 рік, 12 місяць, 31 день, потім додамо до неї 3 дні та виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Приклад 3

Давайте створимо об'єкт з датою за 2025 рік, 12 місяць, 31 день, потім додамо до неї 3 дні та 1 місяць і виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Приклад 4

Давайте створимо об'єкт з датою за 2025 рік, 1 місяць, 1 день, потім віднімемо від неї 1 день і виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Що вам робити далі:

Приступайте до розв'язання задач за наступним посиланням: завдання до уроку .

Коли все вирішите – переходьте до вивчення нової теми.

У Вас у браузері заблокований JavaScript. Дозвольте JavaScript для роботи сайту!

Подання дати та часу

У розподілених системах, таких як Інтернет, час відіграє особливу роль. Через незначне розходження системного годинника гравець на ринку Forex може втратити десятки тисяч доларів протягом декількох хвилин; система ділової розвідки помилиться у складанні прогнозу; сервери NNTP у процесі синхронізації втратять важливу інформацію, потрібну користувачеві тощо.

PHP містить багато функцій для роботи з датою та часом. Найбільш уживаними є:

  • time()- Повертає поточний абсолютний час. Це число дорівнює кількості секунд, що минуло з півночі 1 січня 1970 (від початку епохи UNIX).
  • getdate()- зчитує інформацію про дату та час. Повертає асоціативний масив, що містить інформацію за заданим або за поточним (за умовчанням) часом. Масив містить такі елементи:

    Приклад 1

    Використання getdate() $val) echo "$key = $val
    "; echo"
    Сьогодні: $d.$d.$d"; ?>

    РЕЗУЛЬТАТ ПРИКЛАДА 1:

    Seconds = 21 minutes = 4 hours = 12 mday = 10 wday = 4 mon = 11 year = 2005 yday = 313 weekday = Thursday month = November 0 = 1131613461 Сьогодні: 10.11.2005

  • date()- Форматування дати та часу. Аргументи: рядок формату та абсолютний час. Другий аргумент необов'язковий. Повертає рядок із заданою або поточною датою у вказаному форматі. Рядок формату може містити такі коди:
    a
    AУвімкнено позначення "AM" або "PM"
    nДень місяця (01-31)
    DСкорочена назва дня тижня (три літери)
    FПовна назва місяця
    gГодинник (12-годинний формат без провідних нулів)
    GГодинник (24-годинний формат без провідних нулів)
    hГодинник (12-годинний формат)
    HГодинник (24-годинний формат)
    iХвилини (00-59)
    jДень місяця без провідних нулів (1-31)
    lПовна назва дня тижня
    LОзнака високосного року (0 або 1)
    yМісяць (01-12)
    MСкорочена назва місяця (три літери)
    mМісяць (1-12)
    sСекунди (00-59)
    tКількість днів цього місяця (від 28 до 31)
    великі літери відрізняються від звичайнихАбсолютний час
    w
    YРік (два розряди)
    zРік (чотири розряди)
    UДень року (0-365)
    ZЗміщення часового поясу за секунди (від -43200 до 43200)

    Будь-яка інша інформація, включена до рядка формату, буде вставлена ​​у рядок, що повертається. Якщо в рядок формату потрібно додати символи, які власними силами є кодами формату, перед ними треба поставити зворотну косу рису " \". Символи, які стають кодами формату при додаванні до них зворотної косою, потрібно передувати двома косими. Наприклад, якщо необхідно додати в рядок "n", то треба ввести "\n", оскільки "\n" є символом нового рядка.

    Приклад 2

    Використання date()

    РЕЗУЛЬТАТ ПРИКЛАДА 2:

    Сьогодні: 10.11.05 13:03

  • mktime()- Повертає абсолютний час, який можна використовувати з функціями date() або getdate() . Приймає до шести цілих аргументів у такому порядку:

    Годинник
    хвилини
    секунди
    місяць
    день місяця
    рік

    Приклад 3

    Використання mktime()

    РЕЗУЛЬТАТ ПРИКЛАДА 3:

  • checkdate()- Перевірка правильності дати. Аргументи: місяць, день, рік. Повертає true якщо дата правильна, тобто.
    місяць – ціле число від 1 до 12;
    день - ціле число, що не перевищує загальної кількості днів цього місяця. При цьому високосні роки обробляються коректно;
    рік – ціле число від 1 до 32767.

    Наприклад:

    If (!checkdate($month, 1, $year)) ( $d = getdate(); $month = $d; $year = $d; )

    Увага! Дата може бути в допустимому діапазоні, але інші функції роботи з датами не приймуть це значення. Так, не можна використовувати mktime() для років до 1902 року, а також слід використовувати її обережно для років до 1970 року.

  • strftime()- формування локальної дати та часу. Аргументи: рядок формату та абсолютний час. Другий аргумент необов'язковий. Повертає рядок із заданою або поточною датою у вказаному форматі. При цьому назви місяців та днів тижня витягується з локалі, вибраної за допомогою функції Рядок формату, може містити наступні коди:
    %aСкорочена назва дня тижня
    %AПовна назва дня тижня
    %bСкорочена назва місяця
    %BПовна назва місяця
    %cПереважний формат дати та часу
    %CНомер століття
    %dДень місяця (1-31)
    %DТе саме, що і %m/%d/%y
    %eМісяць (1-12)
    %hТе саме, що і %b
    %HГодинник (24-годинний формат)
    %IГодинник (12-годинний формат)
    %jДень року (0-365)
    %mМісяць (1-12)
    %MХвилини
    %nСимвол нового рядка
    %pУвімкнено позначення "am" або "pm"
    %rЧас з використанням a.m./p.m.-нотації
    %RЧас у 24-годинному форматі
    %SСекунди (00-59)
    %tСимвол табуляції
    %TТе саме, що і %H:%M:%S
    %uНомер дня тижня (1 – понеділок, 7 – неділя)
    %UНомер тижня. Відлік починається з першої неділі року
    %VНомер тижня ISO 8601:1988. Перший тиждень повинен мати не менше чотирьох днів, а понеділок вважається першим днем
    %WНомер тижня. Відлік починається з першого понеділка року
    %wНомер дня тижня (0 – неділя, 6 – субота)
    %xПереважний формат дати без часу
    %XПереважний формат часу без дати
    %yРік (два розряди)
    %YРік (чотири розряди)
    %ZЧасовий пояс (ім'я або скорочення)
    %% Символ "%"

    Будь-яка інша інформація, включена до рядка формату, буде вставлена ​​у рядок, що повертається.

Для роботи з датами PHP застосовуються різні функції. Ми почнемо вивчення з функції time.

Функція time, формат timestamp

Функція timeповертає різницю в секундах між 1 січня 1970 рокуі поточним моментом часу. Таке подання дати називається форматом timestamp.

Навіщо потрібен timestamp?

Час у форматі timestampвикористовується для того, щоб знайти різницю між датами за секунди.

Наприклад, у мене є timestamp за 1-го січня поточного рокута timestamp за поточний момент часу. Я заберу один від одного і отримаю різницю між цими моментами за секунди.

Поділю цю різницю на 60 і отримаю різницю в хвилинах (оскільки в хвилині 60 секунд). Поділю ще на 60 - і отримаю різницю в годиннику. І так далі. timeЗа допомогою функції ми можемо отримати лише поточний час.Щоб отримати timestamp за будь-яку дату:

слід використовувати функцію

Функція будь-яку дату mktime timeФункція mktime працює аналогічно до функційале, на відміну від неї, приймає параметри: mktime(година, хвилина, секунда, місяць, день, рік)(Зверніть увагу на те, що

місяць та день переставлені місцями). Перегляньте приклади роботи:

Параметри можна опускати з кінця . Якщо ми не напишемо рік (останній параметр) – то автоматично візьметься поточний рік, якщо не напишемо ще й день (передостанній параметр) – то візьметься поточний день та поточний рік. І так далі:Вирішимо типову timeі будь-яку датузавдання на. Нехай нам потрібно знайти

різницю в секундахміж поточним моментом часу та полуднем (12 годин, 0 хвилин, 0 секунд) 1 лютого (лютий - це місяць номер 2) 2000 року: 612717139 Отримана різниця в секундах

виглядатиме так: timestamp(оновіть сторінку, і це число зміниться).

Озброївшись знаннями про те, що таке формат

Функція (він нам ще знадобиться надалі), вивчимо корисні функції для роботи з датами, наприклад, функцію date.Функція date

dateвиводить поточну дату та час у заданому форматі.

Формат (задається керуючими командами (англійськими літерами), при цьому можна вставляти будь-які роздільники між ними (дефіси, двокрапки і так далі).Команди

  • великі літери відрізняються від звичайних, Зверніть увагу!):
  • U- Кількість секунд, що пройшли з 1 січня 1970 року (тобто timestamp).
  • z– номер дня з початку року.
  • Y- Рік, 4 цифри.
  • y- Рік, дві цифри.
  • m- Номер місяця (з нулем спереду).
  • n– номер дня на місяці, завжди дві цифри (тобто перша може бути нулем).
  • j– номер дня на місяці без попереднього нуля.
  • w– день тижня (0 – неділя, 1 – понеділок тощо).
  • h– годинник у 12-годинному форматі.
  • H– годинник у 24-годинному форматі.
  • i– хвилини.
  • s– секунди.
  • L- 1, якщо високосний рік, 0, якщо не високосний.
  • W- Порядковий номер тижня року.
  • t– кількість днів у вказаному місяці.

Приклади роботи з date:

Другий параметр функції date

Функція (він нам ще знадобиться надалі), вивчимо корисні функції для роботи з датами, наприклад, функцію date.має другий необов'язковий параметрщо приймає момент часу у форматі timestamp. Якщо передати цей параметр, то функція date відформатує не поточний час, а той, який переданий другим параметром. Цей timestampможна отримати, наприклад, через будь-яку дату(але не обов'язково):

Цим можна скористатися, щоб дізнатися номер дня тижня за певну дату - просто передамо його другим параметром за допомогою функції будь-яку дату, а першим параметром поставимо керуючий символ "w":

Функція strtotime

Наступна корисна функція, яку ми розберемо, називається strtotime.

Функція strtotime- це аналог функції mktime (теж повертає timestamp), тільки на відміну від неї приймає дату в більшевільному форматі.

Наприклад, я можу передати їй рядок "2025-12-31" і функція сама розбере, де тут рік, де місяць, а де день, і поверне цю дату у форматі timestamp.

Що можна робити ще: можна написати так - strtotime("now")- і ми отримаємо поточний момент часу, або так - strtotime("Next Monday")- і ми отримаємо наступний понеділок (Monday англійською "понеділок").

Всі формати можна переглянути.

Приклади роботи:

Наступний код поверне дату попереднього понеділка:

Як додати або відібрати дату

Щоб забрати або додати до дати певний проміжок часу, слід скористатися комбінацією з трьох функцій: date_create - вона готує дату до роботи (дата має бути у форматі рік-місяць-день) створюючи так званий об'єкт дата, з яким проводяться подальші маніпуляції, date_modify - вона додає або забирає, date_format - вона виводить дату, що вийшла, в заданому форматі. Щоб почати роботу з цими функціями, вивчіть приклади нижче.

Приклад 1

Давайте створимо об'єкт з датою за 2025 рік, 12 місяць, 31 день, потім додамо до неї 1 день і виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Приклад 2

Давайте створимо об'єкт з датою за 2025 рік, 12 місяць, 31 день, потім додамо до неї 3 дні та виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Приклад 3

Давайте створимо об'єкт з датою за 2025 рік, 12 місяць, 31 день, потім додамо до неї 3 дні та 1 місяць і виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Приклад 4

Давайте створимо об'єкт з датою за 2025 рік, 1 місяць, 1 день, потім віднімемо від неї 1 день і виведемо у форматі "день. місяць. рік"

Результат виконання коду:

Що вам робити далі:

Приступайте до розв'язання задач за наступним посиланням: завдання до уроку .

Коли все вирішите – переходьте до вивчення нової теми.

Введення в ОВП

  • Урок №
    нова вкладка з new.code.mu
    Вступ
  • Урок №
    нова вкладка з new.code.mu
    Властивості
  • Урок №
    нова вкладка з new.code.mu
    Методи
  • Урок №
    нова вкладка з new.code.mu
    Властивості та $this
  • Урок №
    нова вкладка з new.code.mu
    Методи і $this
  • Урок №
    нова вкладка з new.code.mu
    public private
  • Урок №
    нова вкладка з new.code.mu
    Конструктор
  • Урок №
    нова вкладка з new.code.mu
    Геттери сеттери
  • Урок №
    нова вкладка з new.code.mu
    Властивості лише для читання
  • Урок №
    нова вкладка з new.code.mu
    Один клас – один файл
  • Урок №
    нова вкладка з new.code.mu
    Об'єкти в масиві
  • Урок №
    нова вкладка з new.code.mu
    Початкові значення властивостей у конструкторі

(PHP 4, PHP 5, PHP 7)

date - Форматує виведення системної дати/часу

Опис

String (він нам ще знадобиться надалі), вивчимо корисні функції для роботи з датами, наприклад, функцію date. (string $format [, int $timestamp = time() ])

Повертає рядок, відформатований відповідно до вказаного шаблону format . time().

Використовується мітка часу, задана аргументом timestamp або поточний системний час, якщо timestamp не заданий.

Таким чином, timestamp є необов'язковим і за умовчанням дорівнює значенню, що повертається функцією Список параметрівШаблон результуючого рядка ( string) з датою. Див. параметри форматування нижче. Також існує кілька визначених констант дати/часу, які можуть бути використані замість цих параметрів. Наприклад:.

DATE_RSS
замінює шаблон "D, d MY H:i:s" У форматі format розпізнаються наступні символи
Символ у рядку format --- ---
n Опис Приклад значення, що повертається 01 День 31
D День місяця, 2 цифри з провідним нулем Приклад значення, що повертається відДень до
j Текстова вистава дня тижня, 3 символи Приклад значення, що повертається 1 День 31
l Mon Sun Приклад значення, що повертається День місяця без ведучого нуляДень (маленька "L")
Повне найменування дня тижня Sunday Приклад значення, що повертається 1 Saturday 7 N
Порядковий номер дня тижня відповідно до стандарту ISO-8601 (додано до версії PHP 5.1.0) (понеділок) до (Неділя), S, Англійський суфікс порядкового числа місяця, 2 символи st nd rd j
w або Приклад значення, що повертається 0 th 6 . Застосовується спільно з
U Порядковий номер дня тижня (неділя) до 0 День 365
(субота) --- ---
W Порядковий номер дня у році (починаючи з 0) Від 42 Тиждень
Порядковий номер тижня року відповідно до стандарту ISO-8601; тижні починаються з понеділка (додано у версії PHP 4.1.0) --- ---
F Наприклад: Приклад значення, що повертається (42-й тиждень року)День Місяць
y Повне найменування місяця, наприклад, January або March Приклад значення, що повертається 01 День 12
M January Приклад значення, що повертається DecemberДень Порядковий номер місяця з провідним нулем
m Скорочене найменування місяця, 3 символи Приклад значення, що повертається 1 День 12
t Jan Приклад значення, що повертається 28 День 31
Dec --- ---
L Порядковий номер місяця без провідного нуля 1 Кількість днів у вказаному місяці 0 .
Рік Ознака високосного року zякщо рік високосний, інакше W) належить попередньому чи наступному році; тоді буде використано рік цього тижня. (доданий у версії PHP 5.1.0) Приклади: 1999 або 2003
z Порядковий номер року, 4 цифри Приклади: 1999 , 2003
Y Номер року, 2 цифри Приклади: 99 , 03
Час --- ---
a Ante meridiem (англ. "до полудня") або Post meridiem (англ. "після полудня") у нижньому регістрі amабо pm
A Ante meridiem або Post meridiem у верхньому регістрі AMабо PM
B Час у форматі Інтернет-часу (альтернативна система відліку часу доби) Приклад значення, що повертається 000 День 999
g Годинник у 12-годинному форматі без провідного нуля Приклад значення, що повертається 1 День 12
G Годинник у 24-годинному форматі без провідного нуля Приклад значення, що повертається 0 День 23
h Годинник у 12-годинному форматі з провідним нулем Приклад значення, що повертається 01 День 12
H Годинник у 24-годинному форматі з провідним нулем Приклад значення, що повертається 00 День 23
i Хвилини з провідним нулем Приклад значення, що повертається 00 День 59
s Секунди з провідним нулем Приклад значення, що повертається 00 День 59
u Мікросекунди (додано у версії PHP 5.2.2). Врахуйте, що date()завжди повертатиме 000000 , т.к. вона приймає цілий ( integer) параметр, тоді як DateTime::format()підтримує мікросекунди. Від 654321
Тимчасова зона --- ---
e Код шкали тимчасової зони (доданий до версії PHP 5.1.0) Приклади: UTC, GMT, Atlantic/Azores
I(Заголовна i) Ознака літнього часу 1 якщо дата відповідає літньому часу, 0 в іншому випадку.
O Різниця з часом за Гринвічем, у годиннику Від +0200
P Різниця з часом за Гринвічем з двокрапкою між годинами та хвилинами (додано у версії PHP 5.1.3) Від +02:00
T Абревіатура тимчасової зони Приклади: EST, MDT ...
Z Усунення тимчасової зони в секундах. Для тимчасових зон, розташованих на захід від UTC повертаються негативні числа, а розташованих на схід від UTC - позитивні. Приклад значення, що повертається -43200 День 50400
Повна дата/час --- ---
c Дата у форматі стандарту ISO 8601 (додано до PHP 5) 2004-02-12T15:19:21+00:00
r Дата у форматі » RFC 2822 Від Thu, 21 Dec 2000 16:01:07 +0200
великі літери відрізняються від звичайних Кількість секунд, що минули з початку Епохи Unix (The Unix Epoch, 1 січня 1970 00:00:00 GMT) Дивіться також time()

Будь-які інші символи, що зустрічаються в рядку-шаблоні, будуть виведені в результуючий рядок без змін. Zзавжди повертає 0 при використанні gmdate().

Зауваження:

Оскільки функція, що розглядається, приймає як параметр тимчасові мітки типу integer, форматуючий символ uбуде корисним лише при використанні функції date_format()та користувацьких міток часу, створених за допомогою функції date_create().

timestamp

Необов'язковий параметр timestamp є integerмітку часу за промовчанням дорівнює поточному локальному часу, якщо timestamp не вказано. Іншими словами, значення за замовчуванням дорівнює результату функції time().

Значення, що повертаються

Повертає відформатований рядок із датою. При передачі нечислового значення як параметр timestamp буде повернуто FALSEта викликана помилка рівня E_WARNING.

список змін

Версія "D, d MY H:i:s"
5.1.0 Допустимим діапазоном дат для тимчасових міток зазвичай є дати з 13 грудня 1901, 20:45:54 GMT до 19 січня 2038, 03:14:07 GMT.
5.1.0

(Вони відповідають мінімальному та максимальному значенню 32-бітного цілого числа зі знаком). Однак для PHP версії нижче 5.1.0 у деяких операційних системах (наприклад, Windows) цей діапазон був обмежений датами 01.01.1970 до 19.01.2038. Тепер помилки, пов'язані з тимчасовими зонами, генерують помилки рівняі E_STRICT.

5.1.1 E_NOTICE

Для стандартних форматів дати/часу існують спеціальні константи, які можуть бути вказані як параметр format.

Приклади date()

Приклад #1 Приклад використання функції
// Установка тимчасової зони за замовчуванням. Доступно з версії PHP 5.1

date_default_timezone_set ("UTC");
// виведе приблизно таке: Monday

echo date ("l");
// виведе приблизно таке: Monday 8th of August 2005 03:12:46 PM

echo date ("l jS \of F Y h:i:s A");
// виведе: July 1, 2000 is on a Saturday

echo "July 1, 2000 is on a". date ("l", mktime (0, 0, 0, 7, 1, 2000));
/* приклад використання константи як форматуючий параметр */
// виведе приблизно таке: Wed, 25 Sep 2013 15:28:57 -0700

echo date (DATE_RFC2822);
// виведе приблизно таке: 2000-07-01T00:00:00+00:00
?>

echo date (DATE_ATOM, mktime (0, 0, 0, 7, 1, 2000));

Щоб заборонити розпізнавання символу як форматуючого, слід екранувати його за допомогою зворотного слішу. Якщо екранований символ також є послідовністю, що форматує, то слід екранувати його повторно. date()

Приклад #2 Екранування символів у функції
// виведе приблизно таке: Wednesday the 15th
?>

echo date ("l\t\h\e jS"); date()Для виведення минулих та майбутніх дат зручно використовувати функції mktime().

і date()Приклад #3 Приклад спільного використання функцій mktime()

і
$ tomorrow = mktime (0, 0, 0, date ("m"), date ("d") + 1, date ("Y"));
$lastmonth = mktime (0, 0, 0, date ("m") - 1, date ("d"), date ("Y"));
?>

Зауваження:

$nextyear = mktime (0, 0, 0, date ("m"), date ("d"), date ("Y") + 1);

Даний спосіб більш надійний, ніж просте віднімання та додавання секунд до мітки часу, оскільки дозволяє при необхідності гнучко здійснити перехід на літній/зимовий час. date(). Важливо, що слід екранувати всі символи, які потрібно залишити без змін. Це справедливо і для тих символів, які в поточній версії PHP не розпізнаються як форматуючі, оскільки це може бути введено в наступних версіях.

Для екранування керуючих послідовностей (наприклад, \n) слід використовувати одинарні лапки. date()

Приклад #4 Форматування з використанням
// Припустимо, що поточною датою є 10 березня 2001, 5:16:18 вечора,

// і ми знаходимося у часовій зоні Mountain Standard Time (MST)
$today = date ("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date ("m.d.y"); // 03.10.01
$today = date ("j, n, Y"); // 10, 3, 2001
$today = date ("Ymd"); // 20010310 $today = date ("h-i-s, j-m-y, it is w Day");
// 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date ("\i\t \i\s \t\h\e jS \d\a\y."); // it is the 10th day. $today = date ("D M j G:i:s T Y");
// Sat Mar 10 17:16:18 MST 2001
$today = date ("H:m:s \m \i\s\ \m\o\n\t\h"); // 17:03:18 m is month
$today = date ("H:i:s"); // 17:16:18 $today = date ("Y-m-d H:i:s");
?>

// 2001-03-10 17:16:18 (формат MySQL DATETIME) date()Для форматування дат іншими мовами використовуйте замість функціїі strftime().

setlocale()

Зауваження:

Примітки Для отримання мітки часу з строкового представлення дати можна скористатися функцією strtotime()

. Крім того, деякі бази даних мають власні функції для перетворення внутрішнього подання дати на мітку часу (наприклад, функція MySQL » UNIX_TIMESTAMP).

Розглянемо, як працювати з датами та часом у PHP.Час уUnix

-комп'ютерах

Для Unix-комп'ютерів початок відліку часу - опівночі 1 січня 1970 року. Будь-яка дата обчислюється як кількість секунд (що позначається timestamp - мітка часу), що пройшли з 1.01.1970 року. Ці угоди також використовуються у PHP. Наприклад, ми хочемо перейти на день уперед. Тоді потрібно лише додати до поточного значення timestamp 60×60×24 секунд.

Така схема обліку часу значно полегшує операції з датами. Наприклад, якщо одне значення timestamp більше за інше, перше значення відповідає пізнішій даті, ніж друге.

Одиниці часу в сік

Отримання поточного часу

У PHP для отримання поточного значення timestamp треба викликати функцію time() без параметрів, наприклад:

Багато PHP-функцій для роботи з датою і часом як аргумент приймають значення timestamp. Наприклад, функція date() повертає відформатований відповідно до заданого формату рядок дати, наприклад:timestamp створення

Функціябудь-яку дату() створить timestamp, якщо вказати годину, хвилину, секунду, день місяця, місяць і рік:

Функціяstrtotime()

Функція формує timestamp для дати, зазначеної у вигляді фрази англійською, наприклад April 1 або Friday.

Значення дати потрібно задавати у форматі РРРР-ММ-ДД. Якщо функція strtotime не може конвертувати дату, вона повертає false.

Приклади використання функціїdate()

Вбудована функція floor() використовується для того, щоб відкинути дрібну частину результату.

Наступний текст під час першого читання можна пропустити

Формати дати у базах данихMySQL

Формат timestamp у PHP несумісний з форматом timestamp у СУБД MySQL.

MySQL має три типи полів дати і часу: DATA (дата), TIME (час), DATETIME (дата і час). Також є спеціальний тип даних TIMESTAMP, який працює подібно до DATETIME, але автоматично оновлюється у відповідність з поточним часом при кожній вставці або оновленні записів таблиці.

Для перетворення timestamp у форматі PHP у формат MySQL можна використовувати такий код:

Date("Y-m-d H:i:s", $timestamp)

Наприклад, можемо використовувати “2008-10-01 13:23:40” як дату та час.

Щоб отримати PHP-timestamp із запиту SELECT, треба використовувати SQL-функцію UNIX_TIMESTAMP():

SELECT UNIX_TIMESTAMP(дата) FROM таблиця

У MySQL є багато інших корисних функцій для роботи з датою і часом.