PHP时间函数和时间戳的一个问题

想取得前天的时间变为时间戳,然后变为年月日 时分秒 格式,结果一直提示错误,代码如下

echo $c=strtotime('-2 day').'<br/>';
echo $da=date("Y-m-d H:i:s",((string)$c));
错误提示如下:
1385737953

Notice: A non well formed numeric value encountered in
D:\www\psems\test.php on line 5
2013-11-29 23:12:33
忘了怎样解决了,谢谢大家帮忙。

第1个回答  推荐于2017-12-16
echo $da=date("Y-m-d H:i:s",((int)$c));

数据格式错误,PHP会自动转成int,但是会给你个提示,不影响正常结果的输出追问

按说后面是字符型的,VAR_DUMP结果也是字符。确实不影响输出,也可以屏蔽,只是看着别扭。。。呵呵,是不是还有一个直接输出 之前日期的函数。。

追答

date函数的第二个参数应该是int型的.
你可以查手册的date函数,是这样写的string date ( string $format [, int $timestamp ] )

而你的$c是一个string,所以系统会提示你参数的类型不正确,你要把第二个参数强制转化成int型,这样就不会提示你了

本回答被提问者采纳
第2个回答  2013-12-02
Notice 错误没有什么影响的,error_reporting(E_ALL & ~E_NOTICE); 用这个试试,不行就百度找一下很多解决方法的。
第3个回答  2015-09-18
时间戳是strtotime().也可以直接用time()获取当前时间戳
第4个回答  2013-12-01
1 -2 days
2 $c 还带着<br />
第5个回答  2013-12-02
echo $c=strtotime('-2 day');
echo '<br/>';
echo $da=date("Y-m-d H:i:s",((string)$c));
相似回答