PHP Преобразование целого в Date, обратное strtotime

<?php echo strtotime("2014-01-01 00:00:01")."<hr>"; // output is 1388516401 ?> 

Я удивлен, если это может быть наоборот. Я имею в виду, могу ли я convert 1388516401 to 2014-01-01 00:00:01 . Я действительно хочу знать, какова логика этого преобразования. Как преобразовать дату преобразования в конкретное целое число.

    Да, вы можете его вернуть. Можешь попробовать:

     date("Ymd H:i:s", 1388516401); 

    Логика, связанная с этим преобразованием с даты на целое число, объясняется в sttime в php.net.

     It is the number of seconds since January 1 1970 00:00:00 UTC. Printing echo strtotime("1970-01-01 00:00:00") gives you 0. Printing echo strtotime("1970-01-01 00:00:01") gives you 1. 

    Это означает, что если вы печатаете strtotime («2014-01-01 00:00:01»), который даст вам результат 1388516401 , поэтому дата 2014-01-01 00:00:01 составляет 1388516401 секунд с 1 января 1970 г. 00 : 00: 00 UTC.

    Надеюсь, это поможет вам

    Можете ли вы попробовать это,

     echo date("Ymd H:i:s", 1388516401); 

    Как отметил TheGame ,

    Это означает, что вы передаете строковое значение для времени и необязательно значение для текущего времени, которое является отметкой времени UNIX. Возвращаемое значение представляет собой целое число, которое является меткой времени UNIX.

     echo strtotime("2014-01-01 00:00:01"); 

    Это вернет значение 1388516401, которое является отметкой времени UNIX для даты 2014-01-01. Это можно подтвердить, используя функцию date (), как показано ниже:

     echo date('Ym-d', 1198148400); // echos 2014-01-01 

    Думаю, вы спрашиваете, почему 1388516401 равно 2014-01-01 …?

    Для этого есть историческая причина. Существует 32-разрядная целочисленная переменная, называемая time_t , которая хранит счетчик времени, прошедшего с 1970-01-01 00:00:00 . Его значение выражает время в секундах . Это означает, что в 2014-01-01 00:00:01 time_t будет равен 1388516401 .

    Это обязательно приведет нас к еще одному интересному факту … В 2038-01-19 03:14:07 time_t достигнет 2147485547 , максимальное значение для 32-битного номера. Вы когда-нибудь слышали о Джоне Титоре и проблеме 2038 года ? : D

    Функция time () показывает секунды между текущей и эпохой unix, 01 01 1970 (00:00:00 GMT). Strtotime () преобразует нормальный формат даты в формат time (). Таким образом, представление этой даты в секунды будет: 1388516401

    Источник: http://www.php.net/time