Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полная разница во времени 
V
    Опции темы
neoks
Дата 28.12.2012, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



Не могу сообразить как вычислить полную разницу в годах, месяцах, днях, минутах, секундах.
Есть две даты, нужно показать сколько осталось до события.

Код

$startdate = tme();
$endate = strtotime($row['event_date']);


Смотрел функцию mktime но не вкурил как ее юзать, в примерах только дни показывают )) может есть пример где все выводит ? )
PM MAIL   Вверх
Arantir
Дата 28.12.2012, 21:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



http://www.php.net/manual/en/datetime.diff.php

Добавлено через 6 минут и 27 секунд
Код

$datetime1 = new DateTime('21.12.2012 00:00:00');
$datetime2 = new DateTime(date("d.m.y H:i:s"));
$interval = $datetime1->diff($datetime2);
echo $interval->format("После конца: %Y лет, %M месяцев, %d дней, %H часов, %i минут, %s секунд");
Код

После конца: 00 лет, 00 месяцев, 7 дней, 20 часов, 49 минут, 44 секунд



--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
neoks
Дата 28.12.2012, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 5.7.2010

Репутация: нет
Всего: 1



О так о, чет этого примера не видел, спасибо за ссыль ) то что нужно ))
PM MAIL   Вверх
Aliance
Дата 29.12.2012, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Я бы использовал Zend_Date для того, чтобы не видеть 00 лет, 00 месяцев
PM MAIL WWW ICQ Skype   Вверх
Arantir
Дата 29.12.2012, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Aliance
Код

$datetime1 = new DateTime('21.12.2012 00:00:00');
$datetime2 = new DateTime(date("d.m.y H:i:s"));
$interval = $datetime1->diff($datetime2);
echo $interval->format("После конца: %y лет, %m месяцев, %d дней, %h часов, %i минут, %s секунд");
Код

После конца: 0 лет, 0 месяцев, 8 дней, 09 часов, 35 минут, 45 секунд

Верхний регистр - 2 цифры, нижний - 1 цифра.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Aliance
Дата 29.12.2012, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Я имел ввиду не видеть нулей, мне кажутся они не логичны)
PM MAIL WWW ICQ Skype   Вверх
Arantir
Дата 29.12.2012, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 16
Всего: 55



Тоже мне придирки =) Это все косметическое. Что не используй - там внутри инкапсулированы обычные нехитрые действия.
Можно и вручную написать адаптивный вывод через пару case'ов или тернарных операторов.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
ksnk
Дата 29.12.2012, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(Arantir @  29.12.2012,  15:35 Найти цитируемый пост)
Можно и вручную написать адаптивный вывод через пару case'ов или тернарных операторов. 

Угу.
Использовать ->format с русским языком довольно вредно. Получаются кривоватые фразы типа 1 лет, 2 месяцев, 4 дней По любому, правильнее выковыривать года и дни отдельно и собирать их по частям.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0737 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.