php中的时间戳到日期转换问题

时间:2010-08-30 07:04:21

标签: php codeigniter

我有一个像1397105576这样的时间戳,我需要将其转换为数据格式。我用过:

echo $today = date('20y-m-d H:m:s',"1397105576");

我得到了:

  

严重性:警告
  消息:date()期望参数2为long,给定对象

在codeigniter框架中。

更新:  我找到了答案

vaiable应该转换为long 即

echo $today = date('20y-m-d H:m:s',intval("1397105576"));

4 个答案:

答案 0 :(得分:3)

echo date('Y-m-d H:m:s',"1397105576");

<强>返回

2014-04-10 14:04:56

<强>更新

这应该在codeigniter中工作...但是有一个CI函数可以执行与上面类似的操作:

$datestring = "Year: %Y Month: %m Day: %d - %h:%i %a";
$time = time();

echo mdate($datestring, $time);

有关此内容的更多信息,请访问user guide。您可能对unix_to_human()函数感兴趣。

答案 1 :(得分:2)

除了罗素迪亚斯错误地使用m作为分钟而不是我

之外,似乎到处都是

Y-m-d H:我:不是“Y-m-d H:m:s”

答案 2 :(得分:1)

您的代码工作正常,但请再次尝试:

<?php
echo $today = date('Y-m-d H:m:s',1397105576);
?>

答案 3 :(得分:0)

[编辑]
我将在这里留下我的答案,指出/教你PHP的对象/打字(+日期函数!)系统的非CodeIgnitor消毒版本,但我强烈建议使用并接受Russell Dias的回答


你的例子是100%的文字吗?

您的代码行是echo $today = date('20y-m-d H:m:s',"1397105576");还是更像echo $today = date('20y-m-d H:m:s',"$date");

如果是后者,并且变量是由类创建的,那么它可能没有正确输入。

你可能会使用......我认为int就足够了,我认为你可以做一些类似echo $today = date('20y-m-d H:m:s',(int)$date);的事情,假设你的代码行实际上不是字面意思。

我不是100%确定int可以工作,如果没有,(float)是唯一可能的其他数字类型。也许(字符串)?

请参阅Type Juggling


顺便说一句,为什么你使用20y?请将其更改为Y

来自PHP's Date Docs
Y | A full numeric representation of a year, 4 digits | Examples: 1999 or 2003
y | A two digit representation of a year | Examples: 99 or 03