use*_*625 3 php date strtotime
我通常搞砸了,但我试图从变量得到一年$date = 2011-01-01
我试图2011
从变量得到...我试过这个但它没有回应任何东西......
date(strtotime("Y"), strtotime($date));
Run Code Online (Sandbox Code Playgroud)
$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
将是一个字符串).