Yur*_*ray 10 laravel eloquent php-carbon
我有一个主要在CET地区的项目.我在config/app.php中设置了CET,但是base中的所有数据透视时间戳都以UTC时间存储?
如何设置时间戳的"全局"时区?
我做了这个测试:
<?php
$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;
echo "<br />".date('m/d/Y h:i:s a', time());
$mytime = Carbon\Carbon::now();
echo "<br />".$mytime->toDateTimeString();
?>
Run Code Online (Sandbox Code Playgroud)
这是结果:
The current server timezone is: CET
06/09/2016 12:06:04 pm
2016-06-09 11:06:04
Run Code Online (Sandbox Code Playgroud)
tnx Y.
GON*_*ONG 17
您可以使用访问器实现它
public function getCreatedAtAttribute($value)
{
return Carbon::createFromTimestamp(strtotime($value))
->timezone(Config::get('app.timezone'))
->toDateTimeString(); //remove this one if u want to return Carbon object
}
Run Code Online (Sandbox Code Playgroud)
the*_*len 14
Carbon使用默认的DateTime PHP对象,因此使用date_default_timezone_set()函数,例如:
date_default_timezone_set('Europe/London');
如果您使用的是 Laravel Carbon TimeStamps,则必须在App/Providers/AppServiceProvider.php
文件中更改时区
// App/Providers/AppServiceProvider.php
public function boot()
{
date_default_timezone_set('Asia/Calcutta');
}
Run Code Online (Sandbox Code Playgroud)
小智 8
在AppServiceProvider.php中,您可以添加php功能来更改整个项目的时间戳
public function boot()
{
Schema::defaultStringLength(191);
date_default_timezone_set('Asia/Aden');
}
Run Code Online (Sandbox Code Playgroud)
更新档案 config/app.php
例如:'timezone' => 'Asia/Jerusalem'
代替'timezone' => 'UTC'
归档时间: |
|
查看次数: |
27477 次 |
最近记录: |