Php 是否找到日期格式的意外数据?

Php 是否找到日期格式的意外数据?,php,invalidargumentexception,Php,Invalidargumentexception,数据库中UTC中的istimestamp字段不为空,值为:2019-08-09 20:06:08 我尝试使用以下函数将此时间转换为本地时间: private function toLocalTime($dateInUTC) { $time = strtotime($dateInUTC.' UTC'); return date("d/m/Y H:i", $time); } 转换为: 在我调用$this->toLocalTime的线路上,我得到异常: 我尝试过以下代

数据库中UTC中的istimestamp字段不为空,值为:2019-08-09 20:06:08

我尝试使用以下函数将此时间转换为本地时间:

private function toLocalTime($dateInUTC) {
        $time = strtotime($dateInUTC.' UTC');
        return date("d/m/Y H:i", $time);
}
转换为:

在我调用$this->toLocalTime的线路上,我得到异常:

我尝试过以下代码:


也许我的$timestamp某处是空的?

因为我可以看到你的项目中有碳:

$timestamp = '2019-08-09 10:41:00';
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'UTC');

$date->setTimezone('America/Argentina/Buenos_Aires'); // or your timezone
$new_date = $date->format('Y-m-d H:i:s'); // or your new format
在您的示例中:

private function toLocalTime($dateInUTC) 
{
    // parse your date with carbon and set that as UTC
    $date = Carbon::createFromFormat('Y-m-d H:i:s', $dateInUTC, 'UTC');
    // set your timezone to get a local time.
    $date->setTimezone('America/Argentina/Buenos_Aires'); // or your timezone
    return = $date->format('Y-m-d H:i:s'); // or your new format
}
如果您没有使用本机php安装Carbon作为示例:

private function toLocalTime($dateInUTC) 
{

    $utc_date = \DateTime::createFromFormat('Y-m-d H:i:s', $dateInUTC), new DateTimeZone('UTC'));

    $utc_date->setTimeZone(new \DateTimeZone('America/Argentina/Buenos_Aires'); // or your timezone

    return $utc_date->format('Y-m-d H:i:s'); // or your new format
}

循环一个空数组是否将$response设置为一个空数组,然后在其上循环?哪个函数抛出意外的数据发现错误?看起来您在那里找到了跟踪。响应数组为空。顺便说一句,使用gmdated/m/Y H:i,strotime$v->created_at将直接给您UTC时间,请参见php.net文档中的。数组已填充,我只是简短地告诉您是否更新了时区。例如:“美国/阿根廷/布宜诺斯艾利斯”我安装了碳排放装置,也许是现场创建的无糖Laravel模型的问题?是的,但你们需要让你们的时区来定义它。你在哪里?假设我有碳日期而不是字符串日期,如何设置时区?
private function toLocalTime($dateInUTC) 
{
    // parse your date with carbon and set that as UTC
    $date = Carbon::createFromFormat('Y-m-d H:i:s', $dateInUTC, 'UTC');
    // set your timezone to get a local time.
    $date->setTimezone('America/Argentina/Buenos_Aires'); // or your timezone
    return = $date->format('Y-m-d H:i:s'); // or your new format
}
private function toLocalTime($dateInUTC) 
{

    $utc_date = \DateTime::createFromFormat('Y-m-d H:i:s', $dateInUTC), new DateTimeZone('UTC'));

    $utc_date->setTimeZone(new \DateTimeZone('America/Argentina/Buenos_Aires'); // or your timezone

    return $utc_date->format('Y-m-d H:i:s'); // or your new format
}