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

PHP中如何将指定时间值添加到日期变量得到完整日期时间结果

PHP日期与时间字符串合并实现方案

以下提供三种不同场景的实现方式:

1. 固定格式字符串拼接(性能最优)

如果可以确定$start_date的格式固定为Y-m-d H:i:s,直接截取日期部分拼接即可:

$start_date = '2021-09-02 00:00:00';
$start_time = '16:56:00';
// 截取前10位日期部分拼接时间
$result = substr($start_date, 0, 10) . ' ' . $start_time;
  • 优点:写法简单、执行效率最高
  • 缺点:依赖输入格式固定,无格式校验能力

2. 时间戳解析拼接(兼容性好)

如果输入日期格式可能存在变动(比如分隔符为/、没有时分秒后缀等),用内置日期解析函数处理更稳妥:

$start_date = '2021-09-02 00:00:00';
$start_time = '16:56:00';
$result = date('Y-m-d', strtotime($start_date)) . ' ' . $start_time;
  • 优点:兼容多种常见日期输入格式,不需要提前校验日期字符串结构
  • 缺点:性能略低于纯字符串处理

3. DateTime类标准实现(最健壮)

面向对象的标准实现,支持后续对日期做更多操作,自带格式校验:

$start_date = '2021-09-02 00:00:00';
$start_time = '16:56:00';
// 解析原始日期
$dateObj = DateTime::createFromFormat('Y-m-d H:i:s', $start_date);
// 拆分时间为时分秒三个参数,设置到日期对象中
$dateObj->setTime(...explode(':', $start_time));
// 格式化输出
$result = $dateObj->format('Y-m-d H:i:s');
  • 优点:内置格式校验,支持后续任意日期运算、格式调整,不会出现字符串处理的边界错误
  • 缺点:写法相对繁琐,性能略低于前两种方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:27:02