PHP从变量中获取年份

use*_*625 3 php date strtotime

我通常搞砸了,但我试图从变量得到一年$date = 2011-01-01我试图2011从变量得到...我试过这个但它没有回应任何东西......

date(strtotime("Y"), strtotime($date));
Run Code Online (Sandbox Code Playgroud)

bfa*_*tto 7

$year = date('Y', strtotime('2011-01-01'));
Run Code Online (Sandbox Code Playgroud)

或者,如果您不想转换为日期,并信任您的输入格式:

$year = explode('-', '2011-01-01')[0];
Run Code Online (Sandbox Code Playgroud)

以上需要PHP 5.4,在旧版本上你需要两行:

$arr = explode('-', '2011-01-01');
$year = $arr[0];
Run Code Online (Sandbox Code Playgroud)

或者,这个稍微更快的替代方案由tigrang建议:

$year = substr($date, 0, 4);
Run Code Online (Sandbox Code Playgroud)

或者,更快的方式,如salathe建议:

$year = (int) $date;
Run Code Online (Sandbox Code Playgroud)

(第一个破折号之后的所有内容都将被忽略,因此$year将包含一个带有年份部分日期的整数(与其他选项不同,其中$year将是一个字符串).