【问题标题】:Unix timestamp to date from variable in PHP not workingUnix时间戳从PHP中的变量到日期不起作用
【发布时间】:2012-12-20 09:27:43
【问题描述】:

我有一个 Unix 时间戳数组。我使用以下代码创建了时间戳数组的文件路径($i 稍后在循环中使用,但起初它的值为 0,因此它是正确的):

$date = date('d-m-y', $timestamp[$i]);
$path = $dir . '/' . $date '.csv';

假设数组中有很多时间戳。如果我设置 $i = 0; $date 是一个字符串 06-01-13 (它返回当前日期,尽管时间戳是很多周前的),它会忽略时间戳。但是,如果我用 1257426933 替换 $timestamp[$i],则输出字符串是正确的 (05-11-09)。

怎么了? 我的 PHP 版本是 PHP 5.3.10-1ubuntu3.4

【问题讨论】:

  • 你能澄清一下你输入的时间戳和你得到的日期吗?
  • 试试var_dump( $timestamp[$i] );
  • 在下面查看我的其他评论。

标签: php arrays variables date timestamp


【解决方案1】:

很可能 $timestamp[$i] 的值不是您所期望的?

var_dump($timestamp);

如果第二个参数为空或不存在,date() 将给出当前日期。

【讨论】:

  • 目前,数组有以下 6 个值: var_dump($timestamp) array(6) { [0]=> int(1357426933) [1]=> int(1357430473) [2]=> int (1357434073) [3]=> int(1357437673) [4]=> int(1357441273) [5]=> int(1357498872) }
  • 等一下,我的时间戳功能有点乱,我看看
  • 是的,当然。我的错。如您所见,时间戳有问题。我对生成它们的函数给出了错误的 fromat。所以 strtotime 需要 yyyy-mm-dd 格式的时间......已解决
猜你喜欢
  • 2023-01-02
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 2018-07-09
相关资源
最近更新 更多