我制作了一个代码,用于在服务器文件夹中打印日志,此日志还返回一个包含小时数的日期,但服务器不在我的国家/地区,因此我的小时数不正确。实际上这是我的代码:
$now = new DateTime();
$aggiornata = "\r\n" . "Aggiornamento eseguito con successo per: " . $value['caption'] . " DATA: " . $now->format('d-m-Y H:i:s');
file_put_contents(getenv('OPENSHIFT_REPO_DIR').'php/log.txt', $aggiornata, FILE_APPEND);
如何为意大利设置正确的小时?
答案 0 :(得分:2)
$date = new DateTime('now',new DateTimeZone("Europe/Rome"));
答案 1 :(得分:2)
您也可以在文件顶部执行此操作,例如:
date_default_timezone_set('Europe/Rome');
答案 2 :(得分:1)
您可以在构造函数中将其设置为第二个参数
$date = new DateTime(null, new DateTimeZone('Europe/Rome'));
带有setTimezone
功能的或更高版本
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/Rome'));
答案 3 :(得分:0)
在PHP中使用时区非常简单。下面是一个例子:
// Create a new DateTime object
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
// Output
echo $date->format('Y-m-d H:i:sP') . "\n";
// Change timezone
$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
// Output again
echo $date->format('Y-m-d H:i:sP') . "\n";
参考:
PHP手册 - DateTimeZone