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

Форум PHP

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

 

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

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

тема: Из 12 часового формата времени получить 24 часовой формат
 
 автор: Ильдар   (09.07.2009 в 18:49)   письмо автору
 
 

Вообщем думал я думал... ничего хорошего не получилось
есть время:
3:42
5:51
2:22
8:02
10:51
12:48

где время начинается с утра и до ночи.
т.е. должно получиться
3:42
5:51
14:22
20:02
22:51
0:48

Какое эффективное решение можно сделать?

  Ответить  
 
 автор: ddhvvn   (09.07.2009 в 18:56)   письмо автору
 
   для: Ильдар   (09.07.2009 в 18:49)
 

strtotime + date + изначально нормальный формат времени...
... или они всегда идут именно от меньшего к большему?

  Ответить  
 
 автор: Valick   (09.07.2009 в 18:57)   письмо автору
 
   для: Ильдар   (09.07.2009 в 18:49)
 

вам нужно определять точки 00:00 и 12.00
я думаю можно сравнивать точку времени с последующей точкой и в момент когда последующее меньше предыдущего начинать добавлять, а в следующий раз переставать добавлять 12 часов. Проблема может возникнуть в момент когда между двумя соседними временными точками более 12 часов.

  Ответить  
 
 автор: Саня   (09.07.2009 в 19:09)   письмо автору
 
   для: Ильдар   (09.07.2009 в 18:49)
 

<pre><?

$arr 
= array('3:42','5:51','2:22','8:02','10:51','12:48');

list(
$max$s) = explode(':'$arr[0]);
$arr[0] .= 'am';
$pm false;
$c count($arr);
for ( 
$i 1$i $c$i++ ) {
  
$ex explode(':'$arr[$i]);
  if ( (
$ex[0] > $max || ($ex[0] == $max && $ex[1] >= $s)) && !$pm ) {
    
$max $ex[0];
    
$s $ex[1];
    
$arr[$i] .= 'am';
  } else {
    
$pm true;
    if ( 
$ex[0] >= 12 ) {
      
$arr[$i] .= 'am';
    } else {
      
$arr[$i] .= 'pm';
    }
  }
}
print_r($arr);
function 
dd($item) {
  return 
date('H:i'strtotime($item));
}
$arr array_map('dd'$arr);


print_r($arr);

  Ответить  
 
 автор: Trianon   (09.07.2009 в 19:24)   письмо автору
 
   для: Ильдар   (09.07.2009 в 18:49)
 

задачка попроще.
Есть время
9:32

Что должно получиться?
Почему так, а не наоборот?

  Ответить  
 
 автор: Valick   (09.07.2009 в 19:27)   письмо автору
 
   для: Trianon   (09.07.2009 в 19:24)
 

Я надеюсь автор знает о "печке" от которой нужно "плясать"

  Ответить  
 
 автор: Trianon   (09.07.2009 в 19:28)   письмо автору
 
   для: Valick   (09.07.2009 в 19:27)
 

даже если и так, нам о ней о ничего не поведал.

  Ответить  
 
 автор: Ильдар   (09.07.2009 в 19:30)   письмо автору
 
   для: Valick   (09.07.2009 в 19:27)
 

вощем я понял затея блин так просто не решится..
время меняется, но некоторые остаются в своем вечернем или утреннем времени..
ну вообще первое, второе время - это AM,
третье время - или AM или PM
четвертое - PM
пятое - или PM или AM

  Ответить  
 
 автор: Valick   (09.07.2009 в 19:33)   письмо автору
 
   для: Ильдар   (09.07.2009 в 19:30)
 

я ещё довольно молод чтобы так "глубоко" задумываться о времени

  Ответить  
 
 автор: Trianon   (09.07.2009 в 19:46)   письмо автору
 
   для: Ильдар   (09.07.2009 в 19:30)
 

Вообще-то время у всех одно.
И если не позволять его вводить человеку явным образом - никаких особых проблем не возникает.

  Ответить  
 
 автор: sim5   (09.07.2009 в 19:34)   письмо автору
 
   для: Trianon   (09.07.2009 в 19:24)
 

А еще проще - а не проще ли сразу время человеческое получать, 24 часовой или 12 часовой с соответсвующей меткой? :)

  Ответить  
 
 автор: Valick   (09.07.2009 в 19:39)   письмо автору
 
   для: sim5   (09.07.2009 в 19:34)
 

проще, но горааааздо скучнее :)

  Ответить  
 
 автор: sim5   (09.07.2009 в 19:41)   письмо автору
 
   для: Valick   (09.07.2009 в 19:39)
 

Ну тогда задача Trianona как раз к месту )

  Ответить  
 
 автор: Trianon   (09.07.2009 в 19:43)   письмо автору
 
   для: sim5   (09.07.2009 в 19:34)
 

тогда и вопрос не возник бы. :)

  Ответить  
 
 автор: Ильдар   (09.07.2009 в 19:45)   письмо автору
 
   для: Trianon   (09.07.2009 в 19:43)
 

нет, просто этм данные времени уже записаны в базе((

  Ответить  
 
 автор: Ильдар   (09.07.2009 в 19:45)   письмо автору
 
   для: Ильдар   (09.07.2009 в 19:45)
 

ладно, не мучайтесь...
спасибо вам на этом...
короча и так пойдет! :) не пойдет - поедет

  Ответить  
 
 автор: Valick   (09.07.2009 в 19:48)   письмо автору
 
   для: Ильдар   (09.07.2009 в 19:45)
 

ладно, не мучайтесь...
уже давно не мучаемся, флудим помаленьку

  Ответить  
 
 автор: Trianon   (09.07.2009 в 19:46)   письмо автору
 
   для: Ильдар   (09.07.2009 в 19:45)
 

DROP DATABASE

  Ответить  
 
 автор: sim5   (09.07.2009 в 19:48)   письмо автору
 
   для: Trianon   (09.07.2009 в 19:46)
 

Ильдар сказал - "Не мучаться" :)

  Ответить  
 
 автор: Trianon   (09.07.2009 в 19:49)   письмо автору
 
   для: sim5   (09.07.2009 в 19:48)
 

ну вот я и. :)
альтернативой были бы задача вычисления промежутков достоверности, и приведение БД в актуальное состояние.

  Ответить  
 
 автор: Саня   (09.07.2009 в 20:47)   письмо автору
 
   для: Ильдар   (09.07.2009 в 18:49)
 

Это получается моя попытка прочтения мыслей не увенчалась успехом!?
А жаль.

  Ответить  
 
 автор: Trianon   (09.07.2009 в 20:49)   письмо автору
 
   для: Саня   (09.07.2009 в 20:47)
 

Чтение мыслей - жутко неблагодарное занятие...

  Ответить  
 
 автор: Саня   (09.07.2009 в 21:33)   письмо автору
 
   для: Trianon   (09.07.2009 в 20:49)
 

Ну почему же. На этом форуме я даже получаю некоторое удовольствие от этого процесса :)

  Ответить  
 
 автор: Trianon   (09.07.2009 в 23:23)   письмо автору
 
   для: Саня   (09.07.2009 в 21:33)
 

Я тоже когда-то получал.
Но с некоторых пор хочется, чтоб наоборот, догадки не подтверждались. А не выходит...

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

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