PHP如何从包含年月日的完整日期中仅提取输出年份值
问题原因
- 原有代码仅读取了
$_GET['year']参数,但没有将参数值赋值给$date变量,导致后续调用的$date是未定义的空值 strtotime()接收到无效的日期参数时会返回布尔值false,date()函数处理false参数时会默认读取Unix时间戳起始值0,对应的年份就是1970年- 建议补充参数存在性判断,避免未传参数时抛出系统警告
修复后的代码
方法1:基于时间戳转换实现
<?php if (isset($_GET['year'])) { $date = $_GET['year']; echo date('Y', strtotime($date)); } ?>
方法2:直接拆分字符串提取年份(效率更高,适配固定的YYYY-MM-DD格式)
<?php if (isset($_GET['year'])) { echo explode('-', $_GET['year'])[0]; } ?>
内容的提问来源于stack exchange,提问作者natasha
相关产品推荐
相关产品推荐

