【问题标题】:Date format PHP日期格式 PHP
【发布时间】:2026-02-13 11:50:01
【问题描述】:

我正在尝试根据我的变量中声明的值将日期格式化为 2015-07-12 15:00

// unix
$date = 1436713200
// string
$time = '15:00';

获取日期格式 2015-07-12 15:00 但失败,使用此

$newdate = date('Y-m-d H:i:s', $date.' '.$time);

我得到“遇到格式不正确的数值”。任何人都可以帮忙吗?我知道这可能是由于字符串和 unix 的混合,但不确定如何解决这个问题。

【问题讨论】:

  • 你试过$newdate = date('Y-m-d', $date) . ' ' . $time;吗?

标签: php date


【解决方案1】:

我建议您使用DateTime 实例来避免时区问题:

$d = date_create('@1436713200'); // creates DateTime instance
$d->setTime(15, 00); // sets current time to desired hours, minutes
echo $d->format('Y-m-d H:i:s'); // prints it out with format specified
//⇒ 2015-07-12 15:00:00

【讨论】:

  • 这是来自这里的 +1。我真的很喜欢这个。
【解决方案2】:

您不必提供 $time 变量。 Unix 时间是带时间的完整日期。

使用: $newdate = date('Y-m-d H:i:s', $date);

【讨论】:

    【解决方案3】:

    使用这个

    $date =  date('Y-m-d','1436713200');
    // string
    $time = '15:00';
    
    echo $newdate = date('Y-m-d H:i', strtotime($date.' '.$time));
    

    【讨论】:

    • 用这种繁琐的方式格式化15:00的主要目的是什么?
    • 这个不麻烦
    • 我没有对此投反对票(因为它有效),但你得到“15:00”,将它与日期连接起来,然后格式化为“15:00”。我认为没有理由不按原样附加“15:00”。
    • 好的谢谢解释