функция времени () - PullRequest
       1

функция времени ()

2 голосов
/ 09 августа 2011

time () возвращает текущее время, измеренное в секундах с момента

Эпоха Unix (1 января 1970 г. 00:00:00 по Гринвичу).

Мой вопрос:

  1. Это связано со временем сервера? Отличается ли вывод time(); от сервера, расположенного в Великобритании, от сервера, расположенного в США? Или время unix рассчитывается по Гринвичу?
  2. Я рассчитываю местное время, и у меня есть смещения gmt. Нужно ли мне добавлять смещение по Гринвичу от времени Unix, чтобы узнать текущее местное время.

Ответы [ 2 ]

2 голосов
/ 09 августа 2011
  1. Эпоха Unix - это фиксированный момент времени, а не местное время, поэтому количество секунд, прошедших с них, одинаково, независимо от того, где вы находитесь.Время сервера влияет только на неправильные часы сервера:)

  2. Вам не нужно беспокоиться о смещениях по Гринвичу, если функция, которую вы используете для отображения дат, основана на часовом поясе и правильно настроена:

    <?php
    
    $now = time();
    
    date_default_timezone_set('Europe/Madrid');
    echo date('Y-m-d H:i:s O e', $now) . PHP_EOL;
    
    date_default_timezone_set('America/Hermosillo');
    echo date('Y-m-d H:i:s O e', $now) . PHP_EOL;
    

    ... отпечатки:

    2011-08-09 13:33:58 +0200 Europe/Madrid
    2011-08-09 04:33:58 -0700 America/Hermosillo
    
1 голос
/ 09 августа 2011

Как указано в начале руководства и в вашем вопросе, возвращаемое время составляет секунды с момента Unix Epoch в GMT .

Это не такваше местное время, вам нужно изменить настройки часового пояса или изменить значение, возвращаемое с time() на ваше местное время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...