Вход

Просмотр полной версии : Date("U") обратно


Evsey
05.11.2001, 15:13
Подсобите если можно.
Нужно, зная кол-во секунд пршедших с 1 января 1970 года, выведать
число, минуты, секунды и т.п.
Я решил проблемму путём написания скрипта который это вычиисляет.
Более того работает он правильно, но выглядит ужасно ( я не программист :) и
имеет внушительные размеры.
Есть ли какая нибудь готовая функция для этого дела, либо формула какая?
Поможите.

DeepDiver
06.11.2001, 04:01
из мануала:
(в качестве параметра как раз выступает кол-во секунд с какой-то там даты - кажется как раз с 1.01.1970)

array getdate ([int timestamp])


Returns an associative array containing the date information of the timestamp, or the current local time if no timestamp is given, as the following array elements:


"seconds" - seconds

"minutes" - minutes

"hours" - hours

"mday" - day of the month

"wday" - day of the week, numeric

"mon" - month, numeric

"year" - year, numeric

"yday" - day of the year, numeric; i.e. "299"

"weekday" - day of the week, textual, full; i.e. "Friday"

"month" - month, textual, full; i.e. "January"

Evsey
06.11.2001, 21:49
2 DeepDiver:
Спасибо, но если не трудно:
Как этим пользоваться?
Я пытался и чего то не выходит,
Пробовал найти и почитать про эту функцию - не нашёл.
Допусттим переменную содержащую значение даты в секундах зовут $DatA.
Я пишу:
echo array getdate ([int $DatA]); не то,
echo array getdate ($DatA); не то ,
echo array getdate ("mday"); то же не то,
echo array getdate ("mday" [$DatA]) ; опять не то,
echo array getdate ($DatA ["mday"]) ; и это не то...
Уж и не знаю как!

Помогите.

DeepDiver
09.11.2001, 01:08
$d = getdate($DatA);
print "today is $d[mday]`th of $d[month], $d[year] ($d[weekday]); $d[hours]:$d[minutes]:$d[seconds] <br>\n";

Evsey
09.11.2001, 02:27
Вот спасибо огромное!!!
Только требуется прояснение:
Дата почему то выводится в соответствии с местным временем.
Как мне кажется это время в котором находится сервер.
Так ли это?

DeepDiver
09.11.2001, 04:14
В како времени будет задан $DatA в таком и выведется. Для получения времени сервера используй
$DatA = time();

Evsey
09.11.2001, 16:51
Так вот и странно!

Скрипт:

<?php
$DatA=gmdate("U");
$d=getdate($DatA);
print "today is $d[mday]`th of $d[month], $d[year] ($d[weekday]); $d[hours]:$d[minutes]:$d[seconds] <br>\n";
?>

Выдаёт:

today is 9`th of November, 2001 (Friday); 15:31:21

в то время как по гринвичу ровнёхонько 12:31:21.
А время на серваке как раз GMT+0300

К чему бы это?

DeepDiver
11.11.2001, 14:13
Фиг его знает.... Попробуй вручную ставить разницу по времени. Тем более ты ее знаешь.

telesar
18.12.2003, 11:43
Если число минут или секунд меньше 10, то они выдаются без нолика в начале. Я вынужден проверять их и, если нужно, подставлять нолик. А что, нет ли какого-нибудь стандартного способа дополнения однозначного числа ноликом ?