使用PHP如何从dd.mm.yy格式字符串中提取两位年份yy
方法1:字符串分割实现(适合确定输入格式合法的场景)
直接用explode()按.分割字符串,取最后一个元素即可,代码最简单:
<?php $input = '17.03.19'; $parts = explode('.', $input); $yy = end($parts); echo $yy; // 输出 19 ?>
如果要增加异常兼容,可以加长度判断:
$yy = count($parts) >=3 ? end($parts) : '';
方法2:DateTime类实现(更推荐,可同步校验日期合法性)
如果需要先确认输入的是合法日期再提取,用DateTime类处理更严谨,能避免格式错误时提取到无效内容:
<?php $input = '17.03.19'; $date = DateTime::createFromFormat('d.m.y', $input); if ($date) { $yy = $date->format('y'); echo $yy; // 输出 19 } else { // 自定义日期格式不合法的处理逻辑 echo '无效的日期格式'; } ?>
该方法会自动校验日期合理性,比如输入32.13.99这种不存在的日期时,会直接返回错误,不会返回错误的年份值。
方法3:正则匹配实现
直接匹配字符串末尾.后的两位数字即可:
<?php $input = '17.03.19'; preg_match('/\.(\d{2})$/', $input, $matches); $yy = $matches[1] ?? ''; echo $yy; // 输出 19 ?>
内容的提问来源于stack exchange,提问作者ti saigon
相关产品推荐
相关产品推荐

