Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Конвертация периода в текстовое представление
 
 автор: Shorr Kan   (09.01.2014 в 21:11)   письмо автору
 
 

Всем привет

Нужно привести диапазон формата "06.2008 - 11.2012" в текст "4 года и 5 месяцев".
Изначально обе даты представлены в timestamp.

Нет ли у кого готового предложения? Желательно сразу с правильными склонениями (5 лет, 4 года, 3 месяца, 5 месяцев).

  Ответить  
 
 автор: confirm   (09.01.2014 в 21:22)   письмо автору
 
   для: Shorr Kan   (09.01.2014 в 21:11)
 

1 - год
2 - года
3 - года
4 - года
5 - лет
6 - лет
7 - лет
8 - лет
9 - лет
10 - лет
11 - лет
12 - лет
13 - лет
14 - лет
15 - лет
16 - лет
17 - лет
18 - лет
19 - лет
20 - лет
21 - год
22 - года
23 - года
24 - года
25 - лет
26 - лет
27 - лет
28 - лет
29 - лет
30 - лет

1 - месяц
2 - месяца
3 - месяца
4 - месяца
5 - месяцев
6 - месяцев
7 - месяцев
8 - месяцев
9 - месяцев
0 - месяцев
11 - месяцев

А уж из этой закономерности брать из подготовленного массива...

  Ответить  
 
 автор: Shorr Kan   (09.01.2014 в 21:25)   письмо автору
 
   для: confirm   (09.01.2014 в 21:22)
 

функция склонений существует давно и общедоступна. Вопрос был в другом.

  Ответить  
 
 автор: confirm   (09.01.2014 в 22:13)   письмо автору
 
   для: Shorr Kan   (09.01.2014 в 21:25)
 

В чем?

  Ответить  
 
 автор: Shorr Kan   (10.01.2014 в 00:25)   письмо автору
 
   для: confirm   (09.01.2014 в 22:13)
 

"Нужно привести диапазон формата "06.2008 - 11.2012" в текст "4 года и 5 месяцев"."

речь о том, что нужна функция, в которую передается два параметра:


<?
  
function myfunc($start,$end){
   ......
   return 
$str;
  }
?>


при выводе возращаемого значения, я должен получить нечто вроде "1 год, 3 месяц" (уж со склонениями сам разберусь)

  Ответить  
 
 автор: psychomc   (10.01.2014 в 00:43)   письмо автору
 
   для: Shorr Kan   (10.01.2014 в 00:25)
 

так а в чем сложность то? как склонять знаете, осталось только отнять $end от $start, посчаитать года и месяцы и склеить строки

  Ответить  
 
 автор: Shorr Kan   (10.01.2014 в 01:27)   письмо автору
 
   для: psychomc   (10.01.2014 в 00:43)
 

Десять миллионов секунд разницы между end и start - это сколько месяцев и лет? Учитывая 28, 29, 30, 31 дней в месяцах?

  Ответить  
 
 автор: psychomc   (10.01.2014 в 01:39)   письмо автору
 
   для: Shorr Kan   (10.01.2014 в 01:27)
 

хотите приблизительно точное значение - юзайте ср. арифметическое, не хотите - в PHP есть date_diff / DateTime::diff()

  Ответить  
 
 автор: confirm   (10.01.2014 в 10:38)   письмо автору
 
   для: Shorr Kan   (10.01.2014 в 00:25)
 

Значит надо было промолчать о текстовом представлении, а спрашивать как получить разность дат.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования