7

$timeposted = "午後 7 時 10 分";

この値は現在、カナダ時間 (ケベック) です。フランスの時間に変換する方法を見つけようとしています。どうやってやるの ?

4

6 に答える 6

23

PHP 設定がケベック時間に設定されていると仮定すると、次のようにしてフランスのタイムゾーンに変換できます。

$date = new DateTime('7:10pm', new DateTimeZone('Europe/Paris'));
echo $date->format('Y-m-d H:i:sP');

または、サーバーがケベックのタイムゾーンに設定されていない場合は、次のことができます。

$date = new DateTime('7:10pm', new DateTimeZone('America/Montreal'));

$date->setTimezone(new DateTimeZone('Europe/Paris'));

echo $date->format('Y-m-d H:i:sP');

返す

2013-06-14 01:10:00+02:00 

PHP とタイムゾーンについて詳しくは、http ://www.php.net/manual/en/datetime.settimezone.php をご覧ください。

于 2013-06-13T23:29:22.007 に答える
5

PHP のdate_default_timezone_set()関数を使用します。

フランスに変更したい場合は、

date_default_timezone_set('Europe/Paris');

サポートされているタイムゾーンのリストは、 http ://www.php.net/manual/en/timezones.php にあります。

date_default_timezone_set() の機能は次の場所にあります: http://php.net/manual/en/function.date-default-timezone-set.php

于 2013-06-13T23:19:55.550 に答える
3

DateTime::setTimezoneをチェックしてください:

date_default_timezone_set('America/Los_Angeles');

$datetime = new DateTime('2013-06-13 12:35:23');
echo $datetime->format('Y-m-d H:i:s') . "\n";
$timeEurope = new DateTimeZone('Europe/London');
$datetime->setTimezone($timeEurope);
echo $datetime->format('Y-m-d H:i:s');
于 2013-06-13T23:19:55.413 に答える
2
<?php
date_default_timezone_set('America/Los_Angeles');//Your global default timeZone.

function convertTimeZone($oTime, $oTimeZone, $nTimeZone) 
{
//Parameter string $oTime is original time to be converted from in format F-d-Y h:i:s
//Parameter string $oTimeZone is timezone to be conveted from- Timezone of $oTimeZone
//Parameter string $nTimeZone is timezone to be conveted to

date_default_timezone_set($oTimeZone);  //Change default timezone to old timezone within this function only.

$originalTime = new DateTime($oTime);

$originalTime->setTimeZone(new DateTimeZone($nTimeZone)); //Convert to desired TimeZone.

date_default_timezone_set('America/Los_Angeles') ; //Reset default TimeZone according to your global settings.

return $originalTime->format('F-d-Y h:i:s A'); //Return converted TimeZone.
} 

$LATime = convertTimeZone("2011-01-07 19:55:00","America/Chicago", "America/Los_Angeles");

echo $LATime;

?>
于 2015-02-11T20:46:56.173 に答える
1

関数を使用date_default_timezone_setしてローカルタイムゾーンを変更できます

date_default_timezone_set('Europe/Paris');
于 2013-06-13T23:19:01.477 に答える
1

これは、mysql db (完全に UTC で保存したもの) から時間をかけて新しいタイムゾーンに変換し、単純にフォーマットする関数です。

function changetimefromUTC($time, $timezone) {
    $changetime = new DateTime($time, new DateTimeZone('UTC'));
    $changetime->setTimezone(new DateTimeZone($timezone));
    return $changetime->format('m/d/y h:i a');
}

これは、サポートされているタイムゾーンのリストです http://us1.php.net/manual/en/timezones.php

于 2014-01-19T15:33:35.183 に答える