echo $current_year = date("Y").'<br><br>';
echo $string_year = strftime("%Y", strtotime($current_year));
我想将date(Year)
更改为字符串,但此代码会将输出显示为1970
。
我不明白为什么1970
?
如何使当前年份为2016
。
请帮忙。
答案 0 :(得分:1)
您的问题是strftime
函数将timestamp
作为第二个参数,但您传递的是字符串。
=> string strftime ( string $format [, int $timestamp = time() ] )
因此,当您从技术上传递date("Y").'<br>'
时,这不再是timestamp
,这默认为我们的php从1970年开始工作的第一年。
做的时候
echo $current_year = date("Y");
echo $string_year = strftime("%Y", strtotime($current_year));
我得到2016
但老实说,我不明白你为什么要求这一年,然后再将它改为一年,因为$current_year
和$string_year
都是字符串。
echo $current_year = date("Y");
echo $string_year = strftime("%Y", strtotime($current_year));
echo gettype( $current_year); //Output: string
echo gettype( $string_year); //Output: string
答案 1 :(得分:0)
整个日期应该在strtotime()内传递,而不仅仅是年份。或者您可以简单地将时间戳作为第二个参数传递。
试试这个:
echo $string_year = strftime("%Y", time());
OR
echo $string_year = strftime("%Y", strtotime("now"));