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

Форум PHP

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

 

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

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

тема: mktime для windows
 
 автор: Indemion   (18.11.2008 в 16:21)   письмо автору
 
 

Есть код:
$s1 = mktime(14, 0, 0, 11, 18, 2008); # 14:00
$s2 = mktime(13, 0, 0, 11, 18, 2008); # 13:00
$summ = $s1 - $s2;
echo "$s1 - $s2 = ".date("H:i:s", $summ);


Почему получаю: 1227006000 - 1227002400 = 04:00:00
Скрипт нужно запускать в Windows (что и делаю).
Должен быть 1 час, почему 4?
Я понимаю, что наше время +3, но как это учитывать программно?

  Ответить  
 
 автор: Trianon   (18.11.2008 в 16:47)   письмо автору
 
   для: Indemion   (18.11.2008 в 16:21)
 

функция date() не предназначена для формирования интервалов времени. Только для абсолютных моментов.
А поместить разность в переменную с названием $summ - сюрр.

  Ответить  
 
 автор: Indemion   (18.11.2008 в 17:06)   письмо автору
 
   для: Trianon   (18.11.2008 в 16:47)
 

>А поместить разность в переменную с названием $summ - сюрр.
Вначеле это была сумма - экспериментирую :))) Впрочем не важно.

Есть три конкретных значения, для которых я хочу получить конкретный результат.
$s1 = 1227006000 это количество секунд
$s2 = 1227002400 и это тоже
Далее отнимаю от одного значения другое и получаю конечный результат. Должен быть час, а выходит 4.

Иначе как получить данные о, скажем, времени работы скипта.
<?php
$time1 
time();
sleep(5);
$time2 time();
$worktime $time2 $time1;
echo 
date("H:i:s"$worktime);
?>

Результат: 03:00:05.
Опять эти же 3 часа. Неужели из-за того, что у меня на работе скрипт под виндами запускается?

  Ответить  
 
 автор: Indemion   (18.11.2008 в 17:39)   письмо автору
 
   для: Indemion   (18.11.2008 в 17:06)
 

Меня вцелом интересует другое:
1. Есть две переменных со времнем.
1. 23:15:15
2. 12:35:25

Как получить сумму: n дней n часов n минут n секунд?

2. Есть 37220 секунд. Как преобразовать их в нормальное время формата: n дней n часов n минут n секунд?

  Ответить  
 
 автор: Trianon   (18.11.2008 в 19:16)   письмо автору
 
   для: Indemion   (18.11.2008 в 17:39)
 

точно так же, как Вы сделали бы это руками.
Поделить на 60 , взять остаток, еще раз поделить на 60 взять остаток. Вуаля.
date() писали не для этого.

  Ответить  
 
 автор: Indemion   (19.11.2008 в 01:23)   письмо автору
 
   для: Trianon   (18.11.2008 в 19:16)
 

Спасибо.
Я так и сделал, но в тайне надеялся, что у гуру знают более удобные методы :)

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

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