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

Форум PHP

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

 

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

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

тема: Как получить время из секунд?
 
 автор: ANGO   (19.02.2007 в 22:57)   письмо автору
 
 

Вот кто бы посоветовал, есть ли готовая функция получения времени формата 00:00:00 из количества секунд, где заранее известно что будут только часы, минуты, секунды.
то есть ни дней не месяцев не будет!

что посоветуете?
Спасибо!

   
 
 автор: Unkind   (19.02.2007 в 23:54)   письмо автору
 
   для: ANGO   (19.02.2007 в 22:57)
 

Что за секунды-то? UNIXTIMESTAMP?

<?php
$uts 
0;
echo(
date("H:i:s"$uts));
?>

   
 
 автор: Trianon   (20.02.2007 в 09:46)   письмо автору
 
   для: Unkind   (19.02.2007 в 23:54)
 

тогда уж

$seconds = 0;
echo date("H:i:s", $uts - date("Z", $seconds));

хотя я бы не стал такое применять....

   
 
 автор: Loki   (20.02.2007 в 10:52)   письмо автору
 
   для: Trianon   (20.02.2007 в 09:46)
 

а почему не gmdate("H:i:s", $uts) ?

   
 
 автор: Trianon   (20.02.2007 в 11:10)   письмо автору
 
   для: Loki   (20.02.2007 в 10:52)
 

разница не велика.
функции с названием gmdate я доверяю еще меньше.
Поди пойми, гринвичское она время возвращает или универсальное координатное?

Надеюсь, разницу между ними описывать не требуется?

   
 
 автор: Loki   (20.02.2007 в 11:19)   письмо автору
 
   для: Trianon   (20.02.2007 в 11:10)
 

если верить мануалу, то именно гринвичское.

   
 
 автор: Trianon   (20.02.2007 в 11:43)   письмо автору
 
   для: Loki   (20.02.2007 в 11:19)
 

вот поэтому она мне и не нравится.

   
 
 автор: ANGO   (22.02.2007 в 13:22)   письмо автору
 
   для: Unkind   (19.02.2007 в 23:54)
 

Количество секунд хранятся в обычном поле INT в базе данных просто как число

   
 
 автор: ANGO   (22.02.2007 в 13:35)   письмо автору
 
   для: Unkind   (19.02.2007 в 23:54)
 

вот так не работает, у меня есть
$uts = 841; то есть это 841 секунда
после
echo(date("H:i:s", $uts));
выдает 02:14:01
то есть 14 минут - правильно, 01 секунде - правильно, но от куда взялось 02 два часа?

а вот echo(date("H:i:s", $uts)); выводит правильно
00:14:01
правда я еще на больших значениях не проверял

   
 
 автор: Loki   (19.02.2007 в 23:57)   письмо автору
 
   для: ANGO   (19.02.2007 в 22:57)
 

http://php.net/date

   
 
 автор: ANGO   (22.02.2007 в 13:25)   письмо автору
 
   для: Loki   (19.02.2007 в 23:57)
 

мне необходимо просто получить время форматом 00:00:00 просто из количества секунд, например 1850

   
 
 автор: Trianon   (22.02.2007 в 13:28)   письмо автору
 
   для: ANGO   (22.02.2007 в 13:25)
 

Делите на 60. Потом еще на 60.

[поправлено модератором]

   
 
 автор: ANGO   (22.02.2007 в 13:37)   письмо автору
 
   для: Trianon   (22.02.2007 в 13:28)
 

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

   
 
 автор: Unkind   (22.02.2007 в 14:11)   письмо автору
 
   для: ANGO   (22.02.2007 в 13:37)
 

Тогда можно так:

<?php
function maketime($s)
{
return 
sprintf("%02d:%02d:%02d", (int)($s 3600) % 24, (int)($s 60) % 60$s 60);
}

echo(
maketime(10));
?>

   
Rambler's Top100
вверх

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