如何使用PHP从mysql数据库中检索和显示时间戳?

bzu*_*ick 0 php mysql database timestamp

目前我正在使用这行代码

echo date("F j Y g:i:s", $row[date]);
Run Code Online (Sandbox Code Playgroud)

但它只是给了我 January 1 1970 2:33:31

我也希望它看起来很正常,因为如果我根本不这样做date("F j Y g:i:s",,我得到的是2011-03-02 23:00:30哪个是正确的日期,但是以非常不正常的方式显示

Gol*_*rol 5

在查询中对UNIX_TIMESTAMP进行Typecast:

SELECT UNIX_TIMESTAMP(YourDateField) FROM YourTable
Run Code Online (Sandbox Code Playgroud)

由于我忽略了对其他答案的回答,请让我详细说明:

有两种常见的日期类型.两者实际上都是数字,表示自给定日期以来的持续时间.

  1. 一个是自1900年以来的天数(浮动).一天是一天.分数是一天的分数.
  2. 其他是自1970年以来的秒数.这可以是int(整秒)或浮点数(包括小数秒).

如果您有第一个日期,但将其视为第二个格式,那么您将计算几天的秒数.而不是自1900年以来的111年,你自1970年以来计算了111秒.这就解释了为什么你得到那个日期.

因此,请使用UNIX_TIMESTAMP函数,该函数将第一个浮点表示法转换为以秒为单位的时间戳.它是必需的,因为它也是PHP使用的类型.