PHP 将整数转换为日期,与时间相反

2022-08-30 12:52:55
<?php
echo strtotime("2014-01-01 00:00:01")."<hr>";
// output is 1388516401
?>

如果它能逆转,我感到很惊讶。我的意思是我可以.我真正想知道的是,这种转换背后的逻辑是什么。php 如何将日期转换为特定整数。convert 1388516401 to 2014-01-01 00:00:01


答案 1

是的,您可以将其转换回来。您可以尝试:

date("Y-m-d H:i:s", 1388516401);

这种从日期到整数的转换背后的逻辑在 PHP 的 strtotime 中进行了解释:

该函数期望给定一个包含英文日期格式的字符串,并将尝试将该格式解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数),相对于现在给出的时间戳,或者如果现在没有提供,则为当前时间。

例如,给你 0,给你 1。strtotime("1970-01-01 00:00:00")strtotime("1970-01-01 00:00:01")

这意味着,如果您正在打印,这将为您提供输出,因此日期是1,388,516,401秒后1970年1月1日00:00:00 UTC。strtotime("2014-01-01 00:00:01")13885164012014-01-01 00:00:01


答案 2

你能试试这个,

echo date("Y-m-d H:i:s", 1388516401);

正如theGame所指出的

这意味着您传入时间的字符串值,以及可选的当前时间的值,即 UNIX 时间戳。返回的值是一个整数,它是 UNIX 时间戳。

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

这将返回到值 1388516401,这是日期 2014-01-01 的 UNIX 时间戳。这可以使用 date() 函数进行确认,如下所示:

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

推荐