You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中分离Sat Feb 3 19:34:10 2018格式的日期与时间

在PHP中分离非标准时间字符串的日期和时间

在PHP里处理这种像Sat Feb 3 19:34:10 2018这样的非标准时间格式,我通常会优先选择DateTime类相关的方法,因为它既可靠又灵活,不用自己手动处理各种格式细节。下面给你几种实用的实现方案:

方法一:使用DateTime::createFromFormat(最推荐)

这是PHP专门用来解析自定义时间格式的API,能精准匹配你的字符串格式,还能轻松转换成你需要的日期时间格式。代码示例:

$originalStr = "Sat Feb 3 19:34:10 2018";
// 按照原字符串的格式创建DateTime对象
$dateObj = DateTime::createFromFormat('D M j H:i:s Y', $originalStr);

if ($dateObj) {
    // 提取日期,可自定义格式,比如'Y-m-d'、'F j, Y'等
    $datePart = $dateObj->format('Y-m-d');
    // 提取时间,可自定义格式,比如'H:i:s'、'h:i:s A'(12小时制带AM/PM)
    $timePart = $dateObj->format('H:i:s');
    
    echo "提取的日期:{$datePart}<br>";
    echo "提取的时间:{$timePart}";
} else {
    echo "时间字符串格式解析失败,请检查原字符串格式";
}

这里的格式符对应关系:

  • D:星期的英文缩写(比如Sat)
  • M:月份的英文缩写(比如Feb)
  • j:不带前导零的日期(比如3)
  • H:i:s:24小时制的时分秒
  • Y:四位数字的年份

方法二:字符串分割(适合格式完全固定的场景)

如果你能确保原字符串的格式永远是星期 月份 日期 时间 年份这种空格分隔的结构,可以直接用explode分割字符串来提取:

$originalStr = "Sat Feb 3 19:34:10 2018";
$parts = explode(' ', $originalStr);

// 提取日期相关部分并组合
$rawDate = "{$parts[1]} {$parts[2]} {$parts[4]}";
// 直接提取时间部分
$timePart = $parts[3];

// 可选:将原始日期转成标准格式
$standardDate = date('Y-m-d', strtotime($rawDate));

echo "标准日期:{$standardDate}<br>";
echo "时间:{$timePart}";

这个方法简单粗暴,但缺点是依赖格式绝对固定,如果哪天原字符串的日期带了前导零(比如03)或者格式有其他变化,就会出错,所以只适合场景固定的情况。

方法三:正则表达式匹配(适合复杂自定义场景)

如果你的字符串格式有更多变化,也可以用正则表达式来匹配提取,但写起来相对麻烦,维护成本也高,这里给个示例参考:

$originalStr = "Sat Feb 3 19:34:10 2018";
// 正则匹配提取月份、日期、时间、年份
preg_match('/^\w+ (\w+) (\d+) (\d{2}:\d{2}:\d{2}) (\d{4})$/', $originalStr, $matches);

if (!empty($matches)) {
    $month = $matches[1];
    $day = $matches[2];
    $time = $matches[3];
    $year = $matches[4];
    
    // 转成标准日期格式
    $standardDate = date('Y-m-d', strtotime("{$month} {$day} {$year}"));
    
    echo "日期:{$standardDate}<br>";
    echo "时间:{$time}";
} else {
    echo "未能匹配到有效日期时间";
}

总结

优先推荐方法一,因为它是PHP官方提供的标准日期处理方案,能处理各种边界情况,比如不同语言环境下的星期/月份缩写(只需设置对应locale),而且代码可读性和可维护性都更高。

内容的提问来源于stack exchange,提问作者Dulkith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:37:04