PHP如何将数据库获取的DOB字段日期转为04-10-1989格式
解决PHP日期格式转换问题(从1989-10-04 00:00:00.000000转为04-10-1989)
没问题,这在PHP里有几种简单可靠的解决办法,我给你详细说下:
方法一:使用DateTime类(推荐)
DateTime类对各种日期格式的兼容性更好,尤其是处理带毫秒的日期字符串时不会出问题,代码如下:// 从对象中获取原始日期值 $originalDob = $value->dob; // 创建DateTime实例 $dateObj = new DateTime($originalDob); // 格式化为你需要的d-m-Y格式 echo $dateObj->format('d-m-Y');这里
d代表两位数字的日期,m代表两位数字的月份,Y代表四位数字的年份,正好输出04-10-1989。方法二:使用strtotime + date函数
如果你的日期字符串没有特殊格式问题,也可以用strtotime将其转为时间戳,再用date函数格式化:echo date('d-m-Y', strtotime($value->dob));注意:strtotime会自动忽略末尾的
.000000毫秒部分,所以也能正常工作。方法三:数据库查询时直接格式化
如果你希望在获取数据阶段就完成格式化,不用在PHP里处理,可以在MySQL查询时使用DATE_FORMAT函数:SELECT DATE_FORMAT(dob, '%d-%m-%Y') AS formatted_dob FROM your_table;这样查询返回的
formatted_dob字段直接就是04-10-1989,直接输出即可。
小提示:优先选择DateTime类的方法,它对各种边缘情况的处理更稳定,比如不同时区、特殊日期格式等。
内容的提问来源于stack exchange,提问作者Prem Kishore Gupta
相关产品推荐
相关产品推荐

