Laravel получить TimeZone не работает

Я пытаюсь конвертировать UTC часовой пояс для Singapore Time

    echo $Date->format('Y-m-d H:i:s');
echo '<br>';
echo with(new Carbon\Carbon($Date->format('Y-m-d H:i:s')))->tz('Asia/Singapore')->format('Y-m-d H:i:s');
exit;

он отлично работает в Localhost но в aws server это отображает utc Time как для сервера, так и для сервера и локального хоста UTC Время .. как мы можем это исправить ??

1

Решение

Попробуйте это будет работать

 $timestamp ='1411205843'  //Timestamp which you need to convert

$sourceTimezone = new DateTimeZone('UTC');

$destinationTimezone = new DateTimeZone('Asia/Singapore');

$dt = new DateTime(date('m/d/Y h:i A', $timestamp), $sourceTimezone);
$dt->setTimeZone($destinationTimezone);

echo strtotime($dt->format('m/d/Y h:i A'));
-1

Другие решения

Я предполагаю что $Date в вашем случае это DateTime объект (или Carbon объект). Вы можете использовать PHP setTimeZone() а также DateTimeZone:

$Date = new DateTime($user->updated_at); // sample DateTime creation - also $Date = $user->updated_at; would work here

echo $Date->format("Y-m-d H:i:s")."<br />";

$Date->setTimezone(new DateTimeZone('Asia/Singapore'));
echo  $Date->format("Y-m-d H:i:s")."<br />";

Для меня это порождает:

2014-09-19 12:06:15
2014-09-19 20:06:15
1

Я предположил, что $Date переменная у вас есть углерод (По умолчанию доступно в Laravel) объект:

$Date->format('Y-m-d H:i:s');

Теперь, чтобы установить timezone Вы можете использовать любой из них:

$Date->timezone = new DateTimeZone('Asia/Singapore');
$Date->timezone = 'Asia/Singapore';
$Date->tz = 'Asia/Singapore';

Вы также можете установить его из вашего app/config/app.php лайк:

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/

'timezone' => 'Asia/Singapore',
0
По вопросам рекламы [email protected]