Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Как вы узнали о нашем сайте?

От друга, знакомого
Из печатных источников
Из поисковой машины
По ссылке с другого сайта
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1031
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Вычисляем дату. Разница между двумя датами

Речь пойдет о новой версии самого популярного в настоящее время языка написания сценариев для сервера - РНР 5. Этот язык позволяет разрабатывать высокопроизводительные Web-сайты любого масштаба и любой категории сложности. Рассматриваются такие вопросы, как синтаксические конструкции языка, объектно-ориентированное программирование на РНР, работа с базами данных и графическими изображениями, а также построение WAP-содержимого. Большое внимание уделяется эффективным решениям типовых практических задач на PHP, среди которых аутентификация посетителей, шифрование данных, использование сеансов, обработка ошибок, работа с электронной почтой. Как-то мне пришлось писать скрипт, который сидит в кроне и запускается в какое-то определённое время, для чистки логов на сервере. Задача стояла так, что в момент запуска скрипта мне нужно было удалять какие-то логи, например, двухмесячной давности из одного каталога и годовой давности из другого каталога. И тут я столкнулся с тем, что каждый раз перед запуском в скрипт приходилось вписывать дату старости логов, исходя из сегодняшней даты. Немного порывшись в мануале, я нашел решение.




Для этого я использовал две функции языка:

PHP - Код
date()


и

PHP - Код
strtotime()


Допустим, нам надо получить дату, меньшую, чем дата запуска, на два месяца. Пишем:

PHP - Код
$twomonthsago date("Y-m-d"strtotime ("-2 month")); 
//Получим дату на два месяца раньше от текущей

На год назад:

PHP - Код
$oneyearago date("Y-m-d"strtotime ("-1 year"));


Также можно получить и дату вперёд:

PHP - Код
date("Y-m-d"strtotime("+1 week"));


Также можно задавать промежуток не только по дням, но и по часам, минутам и секундам:

PHP - Код
date("Y-m-d"strtotime("+1 week 2 days 4 hours 2 seconds"));


Ещё мне как-то понадобилось определять разницу между двумя датами. И в итоге у меня вышло вот что:

PHP - Код
$current_date mktime (0,0,0,date("m") ,date("d"),date("Y")); //дата сегодня
$old_date mktime (0,0,0,11,25,2004); //2004.11.25
$difference = ($current_date $old_date); //разница в секундах
$difference_in_days = ($difference 86400); //разница в днях


Надеюсь, что это кому-нибудь да пригодится.



Петр
Дата: 05.12.2024 Комментарий: 2
ПетрСпасибо :) В моей старой книжне не было функции strtotime :)
Дата регистрации: Нет информации Персональная информация
Илья
Дата: 05.12.2024 Комментарий: 1
ИльяСпасибо, пригодилось!
Дата регистрации: Нет информации Персональная информация


Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры PHP Вычисляем дату Разница между двумя датами Как-то мне пришлось писать скрипт который сидит кроне запускается какое-то определённое время для чистки логов на сервере Задача стояла так что момент запуска скрипта нужно было удалять какие-то логи например двухмесячной давности из одного каталога годовой другого тут столкнулся тем каждый раз перед запуском приходилось вписывать дату старости исходя сегодняшней даты Немного порывшись мануале нашел