3

要するに、この質問をしなければならない場合は、このリンクの質問の逆です。

タイムゾーンを自動的に検出し、タイムゾーン名をPHP形式、つまり形式で返すjavascriptライブラリを使用してい'Europe/Berlin'ます。

しかし、タイムゾーンのドロップダウンボックスtimezone_menuを提供するCodeignitersを利用していますが、このphpタイムゾーン(つまり)をcodeignitersタイムゾーン形式に変換するにはどうすればよいのでしょうか。'Europe/Berlin'UP1

4

2 に答える 2

0

私はCIについてあまり知りませんが、日付ヘルパーのドキュメントをざっと見てみると、オフセットから作成できるようです:

$now = new DateTime('now', new DateTimeZone('UTC'));
$tz = new DateTimeZone('America/Argentina/Buenos_Aires');
$offset = $tz->getOffset($now) / 3600;

$ci_tz = 'U';
if($offset) {
    if($offset < 0) {
        $ci_tz .= 'M';
        $offset = abs($offset);
    } else {
        $ci_tz .= 'P';
    }
    if(is_float($offset)) {
        $offset = $offset * 10 - 10;
    }
    $ci_tz .= (string)$offset;
} else {
    $ci_tz .= 'TC';
}
var_dump($ci_tz); // UM3 = UTC Minus 3 hours
于 2013-09-08T21:25:51.883 に答える