是否有一个PHP函数,返回日期和时间在相同的格式MySQL函数NOW()?

我知道如何使用date()来做到这一点,但我在问是否有一个函数仅用于此。

例如,返回:

2009-12-01 00:00:00

当前回答

你可以使用date函数:

date("Y-m-d H:i:s");

其他回答

使用 strftime:

strftime("%F %T");

%F等于%Y-%m-%d。 %T与%H:%M:%S相同。

这是ideone上的一个演示。

在PHP中,与MySQL的now()函数等价的逻辑是time()。

但是time()返回的Unix时间戳与MySQL DATETIME不同。

因此,必须将time()返回的Unix时间戳转换为MySQL格式。

你可以这样做: 日期(“Y-m-d H:我:”);

但是date()函数中的time()在哪里呢?它是第二个参数:事实上,你应该为date()提供一个时间戳作为第二个参数,但如果省略它,它将默认为time()。

这是我能想到的最完整的答案。

问候。

使用这个函数:

function getDatetimeNow() {
    $tz_object = new DateTimeZone('Brazil/East');
    //date_default_timezone_set('Brazil/East');

    $datetime = new DateTime();
    $datetime->setTimezone($tz_object);
    return $datetime->format('Y\-m\-d\ h:i:s');
}

你可以使用正确格式的PHP日期函数作为参数,

echo date("Y-m-d H:i:s");

没有内置的PHP now()函数,但可以使用date()来实现。

例子

function now() {
    return date('Y-m-d H:i:s');
}

如果需要更改时区,可以使用date_default_timezone_set()。

否则,您可以使用Carbon -一个简单的PHP API扩展DateTime。