Просмотр полной версии : Date("U") обратно
Подсобите если можно.
Нужно, зная кол-во секунд пршедших с 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"
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";
Вот спасибо огромное!!!
Только требуется прояснение:
Дата почему то выводится в соответствии с местным временем.
Как мне кажется это время в котором находится сервер.
Так ли это?
DeepDiver
09.11.2001, 04:14
В како времени будет задан $DatA в таком и выведется. Для получения времени сервера используй
$DatA = time();
Так вот и странно!
Скрипт:
<?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
Фиг его знает.... Попробуй вручную ставить разницу по времени. Тем более ты ее знаешь.
Если число минут или секунд меньше 10, то они выдаются без нолика в начале. Я вынужден проверять их и, если нужно, подставлять нолик. А что, нет ли какого-нибудь стандартного способа дополнения однозначного числа ноликом ?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.