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

Форум PHP

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

 

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

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

тема: Как узнать, сколько времени у юзера?
 
 автор: tAleks   (25.01.2007 в 15:02)   письмо автору
 
 

На сколько я знаю, time() возвращает время сервера. Т.е. если сервер стоит в москве, и на нам правильное время, то time() вернет московское время.

А как узнать скольо времени у Юзера, который например в Хабаровске, но мы не знаем его местоположение?

   
 
 автор: Sergey89   (25.01.2007 в 15:04)   письмо автору
 
   для: tAleks   (25.01.2007 в 15:02)
 

Спросить у него часовой пояс.

   
 
 автор: tAleks   (25.01.2007 в 15:06)   письмо автору
 
   для: Sergey89   (25.01.2007 в 15:04)
 

как?

   
 
 автор: Trianon   (25.01.2007 в 15:09)   письмо автору
 
   для: tAleks   (25.01.2007 в 15:06)
 

спросить время у JavaScript

   
 
 автор: Trianon   (25.01.2007 в 15:11)   письмо автору
 
   для: tAleks   (25.01.2007 в 15:02)
 

time() возвращает не московское и не хабаровское, а универсальное координатное время.
В местное время его переделывает уже date(). Согласно таймзоны сервера php

   
 
 автор: LuxeMate   (25.01.2007 в 15:21)   письмо автору
 
   для: Trianon   (25.01.2007 в 15:11)
 

Ну да....php же на сервере))

   
 
 автор: Sergey89   (25.01.2007 в 15:35)   письмо автору
 
   для: Trianon   (25.01.2007 в 15:11)
 

time() время на сервере вернёт, чтобы UTC получить, нужно сделать что-то типа: time() - date("Z", time())

   
 
 автор: Trianon   (25.01.2007 в 15:43)   письмо автору
 
   для: 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";
?>

   
 
 автор: Sergey89   (25.01.2007 в 16:03)   письмо автору
 
   для: Trianon   (25.01.2007 в 15:43)
 

Признаю ошибку. Был не прав =]

   
 
 автор: tAleks   (26.01.2007 в 10:01)   письмо автору
 
   для: Sergey89   (25.01.2007 в 16:03)
 

Нифига не понял...
И все-таки, как узнать время у юзера?

   
 
 автор: deman-b   (26.01.2007 в 10:24)   письмо автору
 
   для: tAleks   (26.01.2007 в 10:01)
 

Говорят же тебе - яваскриптом!

   
 
 автор: deman-b   (26.01.2007 в 10:24)   письмо автору
 
   для: tAleks   (26.01.2007 в 10:01)
 

Говорят же тебе - яваскриптом!

   
 
 автор: tAleks   (26.01.2007 в 10:32)   письмо автору
 
   для: deman-b   (26.01.2007 в 10:24)
 

А php как-нибудь можно? А то я в JS не очень....

Может какая переменная окружения есть, которая посылает часовой пояс юзера или его время?

   
 
 автор: Trianon   (26.01.2007 в 10:59)   письмо автору
 
   для: tAleks   (26.01.2007 в 10:32)
 

<?php 
    
function ofs($t)
    {
        
$t intval($t/60);
        
$s $t '-' '+';
        
$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());
 }
?>

   
 
 автор: cheops   (26.01.2007 в 13:52)   письмо автору
 
   для: tAleks   (25.01.2007 в 15:02)
 

Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=31210.

   
Rambler's Top100
вверх

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