|
|
|
| На сколько я знаю, time() возвращает время сервера. Т.е. если сервер стоит в москве, и на нам правильное время, то time() вернет московское время.
А как узнать скольо времени у Юзера, который например в Хабаровске, но мы не знаем его местоположение? | |
|
|
|
|
|
|
|
для: tAleks
(25.01.2007 в 15:02)
| | Спросить у него часовой пояс. | |
|
|
|
|
|
|
|
для: Sergey89
(25.01.2007 в 15:04)
| | как? | |
|
|
|
|
|
|
|
для: tAleks
(25.01.2007 в 15:06)
| | спросить время у JavaScript | |
|
|
|
|
|
|
|
для: tAleks
(25.01.2007 в 15:02)
| | time() возвращает не московское и не хабаровское, а универсальное координатное время.
В местное время его переделывает уже date(). Согласно таймзоны сервера php | |
|
|
|
|
|
|
|
для: Trianon
(25.01.2007 в 15:11)
| | Ну да....php же на сервере)) | |
|
|
|
|
|
|
|
для: Trianon
(25.01.2007 в 15:11)
| | time() время на сервере вернёт, чтобы UTC получить, нужно сделать что-то типа: time() - date("Z", time()) | |
|
|
|
|
|
|
|
для: Sergey89
(25.01.2007 в 15:35)
| | Это не так. time() возвращает именно UTC
<?
$u = time();
$x = $u % 86400;
$s = $x % 60; $x -= $s; $x /= 60;
$m = $x % 60; $x -= $m; $x /= 60;
$h = $x;
echo "$h:$m:$s";
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(25.01.2007 в 15:43)
| | Признаю ошибку. Был не прав =] | |
|
|
|
|
|
|
|
для: Sergey89
(25.01.2007 в 16:03)
| | Нифига не понял...
И все-таки, как узнать время у юзера? | |
|
|
|
|
|
|
|
для: tAleks
(26.01.2007 в 10:01)
| | Говорят же тебе - яваскриптом! | |
|
|
|
|
|
|
|
для: tAleks
(26.01.2007 в 10:01)
| | Говорят же тебе - яваскриптом! | |
|
|
|
|
|
|
|
для: deman-b
(26.01.2007 в 10:24)
| | А php как-нибудь можно? А то я в JS не очень....
Может какая переменная окружения есть, которая посылает часовой пояс юзера или его время? | |
|
|
|
|
|
|
|
для: tAleks
(26.01.2007 в 10:32)
| |
<?php
function ofs($t)
{
$t = intval($t/60);
$s = $t < 0 ? '-' : '+';
$t = abs($t);
$m = $t % 60; $t -= $m; $h = $t / 60;
return sprintf("$s$h:%02d", $m);
}
if(!isset($_GET['st']))
{?>
<html>
<head>
<script language=javascript>
z = new Date(); r=z.getTime()/1000;
y = z.getYear(), m = z.getMonth()+1, d = z.getDate();
w = new Date(y,m-1,d, 12,0,0);
z = w.getTime()/1000;
document.location.href="?st="+z+"&y="+y+"&m="+m+"&d="+d+"&r="+r;
</script>
</head>
</html>
<?
}
else
{
$clientstamp = intval($_GET['st']);
$y = intval($_GET['y']);
$m = intval($_GET['m']);
$d = intval($_GET['d']);
$r = intval($_GET['r']);
$serverstamp = mktime(12,0,0,$m,$d,$y);
$server_offset = date('Z');
$client_server = $serverstamp - $clientstamp ;
$client_offset = $server_offset + $client_server;
echo "<br>Server UTC offset: ".ofs($server_offset);
echo "<br>Client UTC offset: ".ofs($client_offset);
echo "<br>Client server offset: ".ofs($client_server);
echo "<br>Client time: ".date("d.m.Y H:i:s", $r+$client_server);
echo "<br>Server time: ".date("d.m.Y H:i:s", time());
}
?>
|
| |
|
|
|
|