Дата: сегодня, +10 дней, + 20 дней?
Здравствуйте!
Мне требуется вывести такую комбинацию дат:
дата сегодня — 15 ноября 2015 г.
дата через десять дней — 25 ноября 2015 г.
дата через 20 дней — 05 декабря 2015 г.
Нашёл вот такой вариант
При таком варианте я создаю три сниппета и вывожу их на странице:
1. дата сегодня в формате 15 ноября 2015 г.
2. + 10 дней — time() + 864000
3. + 20 дней — time() + 1728000
Вариант работает, но приходится создавать три сниппета и я не совсем уверен, что сделал всё правильно.
Я мало грамотен в PHP, и толком не знаю правилен ли мой вариант, который нашёл на просторах интернета.
Подскажите, есть способ сделать это проще и правильнее стандартными средствами MODX или как будет правильно для моего случая?
Ну или как бы это сделали Вы?
Спасибо!
Мне требуется вывести такую комбинацию дат:
дата сегодня — 15 ноября 2015 г.
дата через десять дней — 25 ноября 2015 г.
дата через 20 дней — 05 декабря 2015 г.
Нашёл вот такой вариант
<?php
function rus_date() {
$translate = array(
"Monday" => "Понедельник",
"Tuesday" => "Вторник",
"Wednesday" => "Среда",
"Thursday" => "Четверг",
"Friday" => "Пятница",
"Saturday" => "Суббота",
"Sunday" => "Воскресенье",
"January" => "Января",
"February" => "Февраля",
"March" => "Марта",
"April" => "Апреля",
"May" => "Мая",
"June" => "Июня",
"July" => "Июля",
"August" => "Августа",
"September" => "Сентября",
"October" => "Октября",
"November" => "Ноября",
"December" => "Декабря"
);
if (func_num_args() > 1) {
$timestamp = func_get_arg(1);
return strtr(date(func_get_arg(0), $timestamp), $translate);
} else {
return strtr(date(func_get_arg(0)), $translate);
}
}
print rus_date("j F Y, l", time() + 864000);где, time() + 864000это + 10 дней к сегодняшней дате в секундахПри таком варианте я создаю три сниппета и вывожу их на странице:
1. дата сегодня в формате 15 ноября 2015 г.
2. + 10 дней — time() + 864000
3. + 20 дней — time() + 1728000
Вариант работает, но приходится создавать три сниппета и я не совсем уверен, что сделал всё правильно.
Я мало грамотен в PHP, и толком не знаю правилен ли мой вариант, который нашёл на просторах интернета.
Подскажите, есть способ сделать это проще и правильнее стандартными средствами MODX или как будет правильно для моего случая?
Ну или как бы это сделали Вы?
Спасибо!
Комментарии: 4
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Можно в одном сниппете вывести. Кроме того странно использовать посимвольную замену strtr(). Я бы сделал так
Мне нужно выводить в разных местах страницы.
Я так понимаю, Ваш вариант выводит в одном месте.
1. Создаём сниппет date.
2. Вставляем в него код:
3. Вызываем наш сниппет в 3-х местах с нужными параметрами:
Можно и в другую сторону:
Также можно менять формат вывода, по умолчанию j F Y г.:
Всё работает.
То, что нужно!