web-dev-qa-db-fra.com

Format du fuseau horaire pour la date carbone

J'essaie de définir le fuseau horaire pour une date dans un objet Carbon. Cela fonctionne bien localement, mais sur ma boîte de production, il me donne toujours Bad timezone Erreur.

J'ai essayé:

$date->setTimezone('7');
$date->setTimezone('+7');
$date->setTimezone('7:00');
$date->setTimezone('+7:00');
$date->setTimezone('UTC 7');
$date->setTimezone('UTC +7');
$date->setTimezone('UTC 7:00');
$date->setTimezone('UTC +7:00');

Je ne sais pas pourquoi il se plaint sur ma boîte de production. Je ne trouve pas non plus de documentation sur le format "approprié" à saisir ici. Puis-je avoir une aide s'il vous plait.

Pour info: local est windows, et prod est Ubuntu box.

21
Rob

Vous pouvez modifier le fuseau horaire avec ceci:

$timestamp = '2014-02-06 16:34:00';
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Stockholm');
$date->setTimezone('UTC');

ce format fonctionne bien avec mon projet local (Ubuntu) et prod (Redhat).

38
Safoor Safdar

Je pense que vous devriez vous référer à la liste officielle des fuseaux horaires php . Dans votre cas, vous pouvez utiliser

$date->setTimezone('Asia/Phnom_Penh');

pour UTC + 7: 00.

11
Anton Egorov