UNIXタイムスタンプで日付と時刻を取得しています。そのため、dd-mm-yyyy HH:MM:SS 形式の「America/Los_Angeles」タイムゾーンに変換したいと考えていました。
PHPでこれを行う方法は?
例: 入力: 1345014000 出力: 15-08-2012 00:00:00
このdate_default_timezone_set
関数を使用して、PHP 内で現在のタイムゾーンを設定できます。それ以降のすべての計算はそのタイムゾーンを使用して行われるため、これをファイルごとに 1 回だけ呼び出す必要があります。あなたが言及したものなど、すべての有効なタイムゾーン名を受け入れます。
一方date
、関数は、フォーマットを説明する文字列と、変換するタイムゾーンを受け入れます。書式設定オプションの完全なリストは、http: //php.net/manual/en/function.date.phpにあります。
あなたの状況での使用法は次のようになります:
date_default_timezone_set("America/Los_Angeles");
$str=date('d-m-Y H:i:s',$timestamp); //Where $timestamp is the timestamp to be converted
タイムスタンプを文字列に変換するには、次の関数を使用できます。
string date ( string $format [, int $timestamp = time() ] )
次の関数でタイムゾーンを(php.iniのサーバーレベルまたはスクリプトレベルで)設定する必要があります。
bool date_default_timezone_set ( string $timezone_identifier )
これは次のように呼ばれます:
date_default_timezone_set ("America/Los_Angeles");
$yourDateString = date("d-m-Y H:i:s", $yourTimeStamp);