我需要将年份(YY)转换为YYYY。在这里,我尝试在PHP中使用date
函数,但没有得到预期的结果。
$expiry_year = "30"; //year=2030
echo date('Y',strtotime($expiry_year)); //Result: 1970
echo date('Y',$expiry_year); //Result: 1970
预期成果:2030
感谢所有人!
答案 0 :(得分:4)
试试这个,使用createFromFormat
$date = "30";
$dates = DateTime::createFromFormat('y', $date);
//now to get the outpu:
$arr = $dates->format('Y'); // output : 2030
<强> DEMO 强>
答案 1 :(得分:1)
注意: 如果以两位数格式指定年份编号,则00-69之间的值将映射到2000-2069和70-99到1970-1999。请参阅下面的注释,了解32位系统的可能差异(可能的日期可能会在2038-01-19 03:14:07结束)。
为此,您可以使用date_create_from_format
类DateTime
方法的createFromFormat
别名,如
$expiry_year = "30";
$date = date_create_from_format('y',$expiry_year);
echo $date->format('Y'); //2030
答案 2 :(得分:1)
试试这个:
$date = DateTime::createFromFormat('y', '30');
echo $date->format('Y');
答案 3 :(得分:-1)
$expiry_year = "30";
$ce = substr(date('Y'),0,2); // Check the century
$ny = substr(date('Y'),2,2); // Check current year (2 digits)
if($expiry_year < $ny) {
$next_ce = $ce+1;
$output = $next_ce.$expiry_year;
} else {
$output = $ce.$expiry_year;
}
那样的东西? :d