如何在字符串php中更改日期类型年份?

时间:2016-07-02 17:08:20

标签: php

echo $current_year = date("Y").'<br><br>';
echo $string_year = strftime("%Y", strtotime($current_year));

我想将date(Year)更改为字符串,但此代码会将输出显示为1970

我不明白为什么1970

如何使当前年份为2016。 请帮忙。

2 个答案:

答案 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"));