在yii2中获取datetime时出错

时间:2016-05-02 12:31:59

标签: yii2

当我在yii2项目中获得日期时,我遇到了问题。当我获得日期时间时,日期为真,但时间错误。我执行我的代码,结果是:

  

2016-05-02 12:30:28

而笔记本电脑的时间是:19:30。问题是什么?我在印度尼西亚使用时间。这是我的代码:

$time = new \DateTime('now', new \DateTimeZone('UTC'));
$model->tanggal_sampai = $time->format('Y-m-d H:i:s');

2 个答案:

答案 0 :(得分:2)

首先,从List Of Supported TimeZones - php Manual了解印度尼西亚timezone

然后,使用 config.php 文件使其在所有地方都很常见。在'timeZone'=>'Your TimeZone',部分之后添加components

示例 config.php

<?php

$params = require(__DIR__ . '/params.php');

$config = [
  'id' => 'basic',
  'basePath' => dirname(__DIR__),
  'bootstrap' => ['log'],
  'components' => [ 
        .
        .
        .
    ],
    'timeZone'=>'Asia/Kolkata',
    'params' => $params,
];

答案 1 :(得分:1)

您要求UTC时区new \DateTimeZone('UTC')的时间。要么在你自己的时区要求它,我认为是WIB

$time = new \DateTime('now', new \DateTimeZone('WIB'));

或没有时区:

$time = new \DateTime('now');