<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Работа с датой и временем в PHP

Работа с датой и временем в PHP

Очевидно, что очень часто программистам приходится работать с датой и временем. Самый простой пример - это дата и время отправки сообщения на форуме. И, разумеется, такие вещи могут реализоваться на PHP, тем более, что возможностей по работе с датой и временем в PHP очень много.

Базовая функция, связанная с датой и временем в PHP, - это функция time(), которая возвращает количество секунд, прошедших с полуночи 01.01.1970 (зарождение эпохи Unix):

<?php
  echo time();
?>

Запустив данный скрипт, Вы узнаете, сколько секунд прошло с полуночи 01.01.1970 до момента вызова функции time() в Вашем скрипте.

Разумеется, помимо этой базовой функции, которая присутствует во всех языках программирования, где можно работать с датой и временем (по крайней мере, среди тех, которые я знаю), существует и другая функция, которая называется getdate():

<?php
  $datetime = getdate();
  foreach ($datetime as $k=>$v)
    echo "$k - $v<br />";
?>

Запустив данный скрипт, Вы увидите набор ключей в массиве и их соответствующих значений (заодно, повторили конструкцию foreach). Думаю, что теперь для Вас не составит труда узнать любые данные, связанные с датой и временем. Например, чтобы вывести текущее время, необходимо написать следующий код:

<?php
  $datetime = getdate();
  echo $datetime['hours'].":".$datetime['minutes'].":".$datetime['seconds'];
?>

Также у функции getdate() существует необязательный параметр, который означает количество секунд, прошедших с полуночи 01.01.1970. Он сделан для того, чтобы эта функция могла возвращать не только текущие время и дату, а, вообще говоря, любые:

<?php
  $datetime = getdate(152353232);
  echo $datetime['year'];
?>

В результате, Вы увидите 1974-ый год.

Также существует функция date(). Я рекомендую посмотреть описание по ней в справочнике, так как данная функция принимает весьма сложный параметр, который задаёт формат вывода даты. Элементов форматирования чуть больше 30-ти штук. И в примере ниже я приведу несколько из них, а остальные посмотрите в справочнике, потому что их запоминать не нужно, но ознакомиться с ними крайне желательно. А принцип их использования знать обязательно, и о нём следующий пример:

<?php
  echo date("Сегодня d.m.Y H:i:s");
?>

В результате, Вы увидите что-то наподобие этого: "Сегодня 15.11.2010 21:44:24". Также у функции date() есть ещё второй необязательный параметр, задающий timestamp, как раз та величина, равная количеству секунд, прошедших с полуночи 01.01.1970. Пример использования второго параметра:

<?php
  echo date("Когда-то было d.m.Y H:i:s", 5393235329);
?>

Также существует функция gmdate(), которая является полным аналогом функции date(), но функция gmdate() показывает время не по часовому поясу сервера, на котором работает скрипт, а по Гринвичу. Очевидно, что с помощью этой функции надо сохранять всю информацию о дате и времени, которую видит пользователь, а при выводе нужно подстраиваться под часовой пояс каждого пользователя (в идеале, конечно):

<?php
  echo gmdate("Сейчас на Гринвиче D M j H:i:s T Y")
?>

В результате, Вы увидите примерно следующее: "Mon Nov 15 18:52:45 GMT 2010". Разумеется, у Вас будет выведена уже другая дата, но в аналогичном формате. Также я настоятельно рекомендую залезть в справочник и просто ознакомиться с другими элементами даты и времени в PHP (я привёл только треть), так как функции date() и gmdate() - это самый простой и самый быстрый способ получить дату и время в практически любом формате.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (7):

malina95 malina95 19.10.2012 01:12:45

Я всё понимаю, что с датой работать очень легко, но всё таки - напишите статью как сделать дату для каждого пользователя правильной, ни одной статьи про это нету, лазил 4 часа непрерываясь в поисках ответа на этот вопрос, 92 страницы в гугле обошёл и не нашёл, Пожалуйста напишите про это статью, так как у меня люди на сайте из разных стран, а время даже не моеё страны, совсем другой, которая на 6 часов больше моего времени...а я живу в Украине...напишите статью очень вас прошу

Ответить

BotaniQue BotaniQue 19.02.2013 23:49:59

Да, Михаил, меня тоже очень интересует этот вопрос! Хотелось бы статью! Спасибо!

Ответить

Admin Admin 20.02.2013 04:26:54

Хорошо, через 1-2 недели будет такая статья.

Ответить

BotaniQue BotaniQue 20.02.2013 22:01:17

Спасибо большое, жду с нетерпением!

Ответить

Adrenalin Adrenalin 06.03.2013 22:13:56

А можно адрес этой статьи (если она уже есть)?

Ответить

Admin Admin 06.03.2013 23:26:01

http://myrusakov.ru/php-tz-time.html

Ответить

nevek nevek 13.09.2014 08:51:31

Здравствуйте ! А как вычитать минуты ? К примеру у меня есть две переменные в минутах: $start = 35; $now = date("i"); Нужно вычесть из $now-$start чтобы получилось правильно а то не получается ... (

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.