Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

DateTime в PHP / DEVACADEMY

  1. Datetime ()
  2. Висновок форматованої дати
  3. Висновок позначки часу (timestamp)
  4. зміна часу
  5. Зміна мітки timestamp
  6. Як встановити часовий пояс
  7. Як додати дні до значення дати
  8. Порівняння двох дат
  9. Конвертація номера місяця й імені місяці
  10. Отримуємо кількість тижнів у місяці
Павло Соловйов

Frontend розробник

Починаючи з версії 5.2 в PHP з'явився такий тип даних як DateTime. Спробуємо в цій статті розібратися чому краще використовувати його замість старих функцій date () і time ().

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

<? Php // Поточна дата echo date ( "Ymd", time ()); // 2013-12-01 echo date ( "Ymd", 1385925192);

Функція time () повертає поточний час в unix форматі (timestamp).

<? Php // Поточний час, unix формат echo time ();

Datetime ()

Об'єкт Datetime вперше був представлений в PHP версії 5.2, він містить в собі безліч допоміжних об'єктів, для вирішення проблем, з якими вам доводилося стикатися при використанні функцій date () і time (). Також був представлений об'єкт DateTimeZone, який управляє часовим поясом, об'єкт DateInterval відповідає інтервалу часу (наприклад 2 дні) від справжнього моменту, DatePeriod показує різницю в часі між двома різними датами. Основна перевага використання DateTime перед старими функціями полягає в тому, що значення дат простіше змінювати. Якщо ви хочете отримати значення часу і дати за допомогою функції date (), то ви напишіть наступне:

<? Php echo date ( "l jS \ of FY h: i: s A");

А ось приклад для установки часового поясу:

<? Php date_default_timezone_set ( 'UTC'); echo date ( "l jS \ of FY h: i: s A");

Проблема виникає при необхідності змінити або порівняти дві позначки часу, DateTime має методи modify () і diff () спрощують задачу. Переваги DateTime проявляються коли ви маніпулюєте значеннями дат.

Спочатку об'єкт треба ініціалізувати

<? Php $ date = new DateTime ();

Конструктор цього класу приймає два параметри. Перший - значення часу, ви можете використовувати рядок у форматі функції date, час у форматі Unix, інтервал або період. Другий параметр - часовий пояс.

<? Php // Установка дати $ date = new DateTime ( '2000-01-01'); // Установка дати до часового поясу $ date = new DateTime ( '2000-01-01', new DateTimeZone ( 'Pacific / Nauru')); // Установка дати на 4 дні вперед $ date = new DateTime ( '+ 4 days');

Висновок форматованої дати

Об'єкт DateTime може працювати також як і функція date, всього лише необхідно викликати метод format () вказавши формат повертається рядка.

<? Php echo $ date-> format ( 'Ym-d');

Висновок позначки часу (timestamp)

Для виведення позначки часу в форматі Unix існує метод getTimestamp ().

~~~ {.php} <? Php

$ Date = new DateTime (); echo $ date-> getTimestamp ();

### Встановлення дати Незважаючи на те, що значення дати ви вказуєте при створенні об'єкта класу, ви можете пізніше змінювати це значення. ### Зміна дати Для зміни дати використовуйте метод `setDate ()`. ~~~ php <? Php $ date = new DateTime (); // 2001-02-03 $ date-> setDate (2001, 2, 3); echo $ date-> format ( 'Ym-d');

зміна часу

Для зміни значення часу існує метод setTime ().

<? Php $ date = new DateTime (); // 2013-12-01 14:55:00 $ date-> setTime (14, 55); echo $ date-> format ( 'Ymd H: i: s');

Зміна мітки timestamp

Для цього придуманий метод setTimestamp ().

<? Php $ date = new DateTime (); // 2013-11-28 19:13:19 $ date-> setTimestamp (1385665999); echo $ date-> format ( 'Ymd H: i: s');

Як встановити часовий пояс

Другий параметр при створенні об'єкта - DateTimeZone, він дозволяє призначити часовий пояс нашого об'єкту. Це означає, що ми зможемо легко порівнювати два значення часу з різних часових поясів і отримувати коректну різницю.

<? Php // 2013-12-01 13: 45: 00 + 13: 45 $ date = new DateTime ( '2013-12-01', new DateTimeZone ( 'Pacific / Chatham')); echo $ date-> format ( 'Ymd H: i: sP');

Також для установки цього значення існує метод setTimezone ().

<? Php $ date = new DateTime ( '2013-12-01'); // 2013-12-01 13: 45: 00 + 13: 45 $ date-> setTimezone (new DateTimeZone ( 'Pacific / Chatham')); echo $ date-> format ( 'Ymd H: i: sP'); // 2013-11-30 19: 00: 00-05: 00 $ date-> setTimezone (new DateTimeZone ( 'America / Toronto')); echo $ date-> format ( 'Ymd H: i: sP');

Повний список часових поясів можна переглянути на php.net .

Як додати дні до значення дати

Для зміни значення дати в об'єкті DateTime можна використовувати метод modify (). Він приймає як параметр строкове значення днів, місяців, років. Наприклад, якщо хочете додати кілька днів, наприклад 3 дні, один місяць і один рік:

<? Php $ date = new DateTime ( '2013-12-01'); $ Date-> modify ( '+ 3 day'); // 2013-12-04 echo $ date-> format ( 'Ym-d'); $ Date = new DateTime ( '2013-12-01'); $ Date-> modify ( '+ 1 month'); // 2014-01-01 echo $ date-> format ( 'Ym-d');

Порівняння двох дат

<? Php $ date1 = new DateTime ( 'May 13th, 1986'); $ Date2 = new DateTime ( 'October 28th, 1989'); $ Difference = $ date1-> diff ($ date2);

Код вище дасть нам різницю двох дат у вигляді DateInterval.

DateInterval Object ([y] => 3 [m] => 5 [d] => 15 [h] => 0 [i] => 0 [s] => 0 [invert] => 0 [days] => 1264)

Конвертація номера місяця й імені місяці

Досить часто доводиться отримувати ім'я місяці з його порядкового номера, для цього всього лише потрібно вказати формат "F" в якості першого параметра

<? Php $ monthName = date ( "F", mktime (0, 0, 0, $ monthNum));

При використанні класу DateTime можна застосувати метод format ().

<? Php $ date = new DateTime ( '2000 -'. $ MonthNum .'- 01 '); $ MonthName = $ date-> format ( "F");

Отримуємо кількість тижнів у місяці

Наступний приклад допоможе вам отримати кількість тижнів в певному місяці року.

&lt;? Php function weeks_in_month ($ month, $ year) {$ startDate = new DateTime (); $ StartDate-> setDate ($ year, $ month, 1); $ LoopDate = $ startDate; $ Week = 1; for ($ i = $ startDate-> format ( 'd'); $ i <= cal_days_in_month (CAL_GREGORIAN, $ month, $ year); $ i ++) {if ($ loopDate-> format ( 'w')% 7 = = 0) {$ week ++; } $ LoopDate-> modify ( '+ 1 day'); } Return $ week; } Echo '<p> Jan' .weeks_in_month (1, 2014 року). '</ P>'; echo '<p> Feb' .weeks_in_month (2, 2014 року). '</ p>'; echo '<p> Mar' .weeks_in_month (3, 2014 року). '</ p>'; echo '<p> Apr' .weeks_in_month (4, 2014 року). '</ p>'; echo '<p> May' .weeks_in_month (5, 2014 року). '</ p>'; echo '<p> Jun' .weeks_in_month (6, 2014 року). '</ p>'; echo '<p> Jul' .weeks_in_month (7, 2014 року). '</ p>'; echo '<p> Aug' .weeks_in_month (8, 2014 року). '</ p>'; echo '<p> Sep' .weeks_in_month (9, 2014 року). '</ p>'; echo '<p> Oct' .weeks_in_month (10, 2014 року). '</ p>'; echo '<p> Nov' .weeks_in_month (11, 2014 року). '</ p>'; echo '<p> Dec' .weeks_in_month (12, 2014 року). '</ p>'; ?>Lt;?
Lt;?
Lt;?
Lt;?
Lt;?
Lt;?
Lt;?
Lt;?
Lt;?
Lt;?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    Подготовка к ЕГЭ по математике
    Статьи Опубликовано: 05.10.2017 Подготовка к ЕГЭ по МАТЕМАТИКЕ. 1 часть. Эффективный курс подготовки. Вы находитесь на сайте www.ege-ok.ru - Подготовка к ЕГЭ по математике. Меня зовут Инна Владимировна

    Куда поступить с обществознанием, русским и математикой
    Статьи Опубликовано: 06.10.2017 Сдача ЕГЭ. Куда поступать? Обществознание считается одним из самых популярных предметов, которые выпускники сдают на ЕГЭ. Ввиду высокого рейтинга дисциплины Рособрнадзор

    Сайт Майер Елены - ЕГЭ по математике
    Планируется проведение двух отдельных экзаменов – базового и профильного. Кому сдавать базовый ЕГЭ по математике? Базовый ЕГЭ организуется для выпускников, изучающих математику для общего развития

    ГДЗ решебник по математике 4 класс
    Извините, тут пока ничего нет ((( Решебник по математике 4 класс (Истомина Н.Б.) – не просто возможность быстро выполнить домашнее задание для учащегося, но и способ разобраться в труднорешаемых задачах.

    ГДЗ по математике 1 класс Самсонова самостоятельные работы
    Решебник по математике за 1 класс автора Самсоновой Л.Ю. 2012 года издания. Данное пособие предлагает готовые решения на разнообразные упражнения, направленные на активизацию всего учебного процесса. Здесь

    Для этой работы нужна математика
    Слотов: 956 Рулеток: 7 Лицензия: Pragmatic Play, Microgaming, ELK, Yggdrasil, Habanero, Amatic, Isoftbet, Netent, Rival, Igrosoft, Quickspin. Игры: Автоматы, Покер, Рулетки. Всего 963 Отдача: 98% Бонус

    Веселые задачи по математике 2 класс
    Во время занятий для того, чтобы немного переключить внимание школьников, но при этом не уйти от предмета, можно давать шутливые задачи на сообразительность. Буду пополнять коллекцию таких задач. Дополнительная

    Функция экспонента в Excel
    Одной из самых известных показательных функций в математике является экспонента. Она представляет собой число Эйлера, возведенное в указанную степень. В Экселе существует отдельный оператор, позволяющий

    ЕГЭ по математике 2018
    ЕГЭ по математике, наравне с русским языком , – обязательный экзамен для сдачи выпускниками 11-х классов. По статистике он самый сложный. Мы предлагаем ознакомиться с общей информацией об экзамене и

    Секреты эффективной и быстрой подготовки ко второй части ОГЭ по математике.
    Уважаемые девятиклассники, настоящие или будущие! Часто от вас приходится слышать следующие вопросы. Легко ли подготовиться к заданиям второй части ОГЭ по математике? Сколько для этого понадобится


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: