|
|
|
| Вообщем думал я думал... ничего хорошего не получилось
есть время:
3:42
5:51
2:22
8:02
10:51
12:48
где время начинается с утра и до ночи.
т.е. должно получиться
3:42
5:51
14:22
20:02
22:51
0:48
Какое эффективное решение можно сделать? | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 18:49)
| | strtotime + date + изначально нормальный формат времени...
... или они всегда идут именно от меньшего к большему? | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 18:49)
| | вам нужно определять точки 00:00 и 12.00
я думаю можно сравнивать точку времени с последующей точкой и в момент когда последующее меньше предыдущего начинать добавлять, а в следующий раз переставать добавлять 12 часов. Проблема может возникнуть в момент когда между двумя соседними временными точками более 12 часов. | |
|
|
|
|
|
|
|
для: Ильдар
(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);
|
| |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 18:49)
| | задачка попроще.
Есть время
9:32
Что должно получиться?
Почему так, а не наоборот? | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 19:24)
| | Я надеюсь автор знает о "печке" от которой нужно "плясать" | |
|
|
|
|
|
|
|
для: Valick
(09.07.2009 в 19:27)
| | даже если и так, нам о ней о ничего не поведал. | |
|
|
|
|
|
|
|
для: Valick
(09.07.2009 в 19:27)
| | вощем я понял затея блин так просто не решится..
время меняется, но некоторые остаются в своем вечернем или утреннем времени..
ну вообще первое, второе время - это AM,
третье время - или AM или PM
четвертое - PM
пятое - или PM или AM | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 19:30)
| | я ещё довольно молод чтобы так "глубоко" задумываться о времени | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 19:30)
| | Вообще-то время у всех одно.
И если не позволять его вводить человеку явным образом - никаких особых проблем не возникает. | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 19:24)
| | А еще проще - а не проще ли сразу время человеческое получать, 24 часовой или 12 часовой с соответсвующей меткой? :) | |
|
|
|
|
|
|
|
для: sim5
(09.07.2009 в 19:34)
| | проще, но горааааздо скучнее :) | |
|
|
|
|
|
|
|
для: Valick
(09.07.2009 в 19:39)
| | Ну тогда задача Trianona как раз к месту ) | |
|
|
|
|
|
|
|
для: sim5
(09.07.2009 в 19:34)
| | тогда и вопрос не возник бы. :) | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 19:43)
| | нет, просто этм данные времени уже записаны в базе(( | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 19:45)
| | ладно, не мучайтесь...
спасибо вам на этом...
короча и так пойдет! :) не пойдет - поедет | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 19:45)
| | ладно, не мучайтесь...
уже давно не мучаемся, флудим помаленьку | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 19:45)
| | DROP DATABASE | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 19:46)
| | Ильдар сказал - "Не мучаться" :) | |
|
|
|
|
|
|
|
для: sim5
(09.07.2009 в 19:48)
| | ну вот я и. :)
альтернативой были бы задача вычисления промежутков достоверности, и приведение БД в актуальное состояние. | |
|
|
|
|
|
|
|
для: Ильдар
(09.07.2009 в 18:49)
| | Это получается моя попытка прочтения мыслей не увенчалась успехом!?
А жаль. | |
|
|
|
|
|
|
|
для: Саня
(09.07.2009 в 20:47)
| | Чтение мыслей - жутко неблагодарное занятие... | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 20:49)
| | Ну почему же. На этом форуме я даже получаю некоторое удовольствие от этого процесса :) | |
|
|
|
|
|
|
|
для: Саня
(09.07.2009 в 21:33)
| | Я тоже когда-то получал.
Но с некоторых пор хочется, чтоб наоборот, догадки не подтверждались. А не выходит... | |
|
|
|