2010-08-29 1 views
2

Простой, а? -sigh-«Час: минута» отличие от двух строк «Час: Минута»

A функция. Два строковых аргумента (я думаю, это не имеет значения для типа). Возврат строки, которая представляет собой временную разницу между аргументами. Подумайте об этом как о счетчике в вашем местном интернет-кафе CS.

function time_diff($start, $stop) { 
    ... 
    return $diff; 
} 

echo "Your time playing CS: " . time_diff('19:37', '00:05') . ". Go home!"; 

Я пробовал. Просто слишком смущен, чтобы сказать, сколько времени я вложил в этот алгоритм. Я не могу изменить формат (скажите мне об этом!).

Если вам посчастливилось узнать класс, файл или фрагмент кода из глубин интернетов, я с удовольствием воспользуюсь им.

«Спасибо» вам очень понравилось.

+0

что не удалось? – Woot4Moo

+1

Вместо того, чтобы работать со строками и просто раз, вы должны получить полную метку времени начала/конца, а затем просто вычесть время. В противном случае я мог бы быть там в течение 2 дней и 1 минуты, и он просто отображал бы 1 минуту .. – poke

+0

@ Woot4Moo - Если я придумаю квазифункциональный скрипт, я с удовольствием расскажу вам. Неудача подразумевает какой-то код. У меня нет. – nush

ответ

4

Вы не можете сделать это правильно, если вы не знаете:

  • В часовом поясе.
  • День, связанный с теми временами.

После того, как вы знаете, что вы можете сделать:

date_default_timezone_set('timezone here'); 
$seconds_diff = strtotime("2010-08-29 $end") - strtotime("2010-08-29 $start"); 
+1

Часовой пояс полностью избыточен, если вы просто смотрите два разных раза в одном месте ... – poke

+0

@poke Нет, это не так. См. http://codepad.viper-7.com/XpC6pL – Artefacto

+0

Ну, я полагаю, что независимо от того, что вы живете, интервал времени с 14:00 до 16:00 составляет 2 часа. Так что это касается часовых поясов? Что мне здесь не хватает? – nush