【问题标题】:Datetime in PHP ScriptPHP 脚本中的日期时间
【发布时间】:2014-12-08 07:57:42
【问题描述】:

我将 PHP 脚本用于获取日期和时间的禁令列表,但出现错误,不知道如何将其转换为“正常”时间。

它只列出了我的日期:01.01.1970 um 00:00 Uhr

脚本部分来自这里:

//Convert Epoch Time to Standard format
$datetime = date("d.m.Y \\u\\m H:i \\U\\h\\r", $row['expires']);
echo "<td>$datetime</td>";

这是来自 mysql 数据库的条目:http://fs1.directupload.net/images/141208/9ugjslm8.jpg

不知道有没有用?

有没有人想办法解决这个问题?

链接:http://pastebin.com/r0dXg8FX

  • 该行来自插件。例如: $row['name'] , $row ['banner'], $row['reason'] 这都是来自插件

【问题讨论】:

  • 您的$row['expires'] 包含什么? var_dump() 看看是不是时间戳。
  • 您确定该行包含数据库中的实际日期吗?我认为它可能只是 1970 年的零。
  • 这意味着$row['expires'] 本质上是0,UNIX 时代的开始,1970 年 1 月 1 日。
  • 行来自数据库

标签: php mysql datetime


【解决方案1】:

它只列出了我的日期:01.01.1970 um 00:00 Uhr

这仅仅意味着您错误地考虑了$row['expires']。这不是 UNIX 时间戳值,并且会产生无效日期。 这意味着该值基本上计算为 0,即 UNIX 时间的 1970 年 1 月 1 日

date() 要求您向其发送有效的 Unix 时间戳(INT 11),这是您在数据库中为该字段提供的内容吗?还是日期时间字段?

试试这个

echo date("d.m.Y \\u\\m H:i \\U\\h\\r", "2014-10-12");   //invalid

echo date("d.m.Y \\u\\m H:i \\U\\h\\r", time());  //valid: current unix timestamp

【讨论】:

  • “默认日期”是一种奇怪的说法。这意味着该值基本上计算为0,即 UNIX 时间的 1970 年 1 月 1 日。
  • 如果$row['expires'] 包含任何日期字符串,那么strtotime($row['expires']) 就可以了。
【解决方案2】:

基于this image(您在已删除答案中给出的)您有毫秒数。将毫秒除以 1000 得到秒。

大概是这样的:

$datetime = date('d.m.Y \u\m H:i \U\h\r', $row['expires'] / 1000);

但是,如果你得到 1970 年,这意味着你在 32 位机器上,并且你获取的 INT 超出了范围。在这种情况下,您可以使用字符串函数 substr() 删除最后 3 个数字:

$datetime = date('d.m.Y \u\m H:i \U\h\r', substr($row['expires'], 0, -3));

【讨论】:

  • 好吧,如果我在家,我也会试试这个:D
  • 好吧,我试试,所以现在时间是正确的,但日期是错误的......?!?!非常困惑.. 现在是 11.12.2014 因为它的 08.12.2014 oO fs1.directupload.net/images/141208/swk8pe2s.jpg
  • sry 但不知道你的 var_dump($row['expires']); 到底是什么意思?时间由时间发送到 mysql 数据库的 spigot 插件插入
  • 这个?字符串(13)“1418279542453”
  • 这个时间戳代表2014-12-11T06:32:22Z。如果这是无效的,那么你的数据库中存储了错误的时间戳。
【解决方案3】:

首先将日期转换为 UNIX 时间戳。试试 -

$datetime = date("d.m.Y \\u\\m H:i \\U\\h\\r", strtotime($row['expires']));
echo "<td>$datetime</td>";

【讨论】:

  • 我在家的时候试试这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 2019-01-27
相关资源
最近更新 更多