###実現したいこと
下記のset_time( $utc, $ux_time )
という関数で、指定したタイムゾーンの日時を出力したいです。
しかし下記コードでは、「49387080/05/23 05:27:40」というわけのわからない年になってしまうのですが、どのようにしたら正しく取得できるでしょうか?
###試したこと
たとえばアラスカのタイムゾーンなら「 -540 (-9:00)」だそうなので、$utc
に-540
を渡して計算しようという意図で書いてみました。
PHP
1// unixtimestampを取得 2$ux_time = intval( ceil ( microtime(true) * 1000 ) ); // わけあってミリ秒で取得 3 4// 指定の国の日時に変換(2109/05/23 05:27:40の形式) 5function set_time( $utc, $ux_time ){ 6 $country_time = date( "Y/m/d H:i:s", ($ux_time*1000) + $utc); // タイムゾーンで日時を調整 7 return $country_time; 8} 9 10// 確認 11echo set_time( -540, $ux_time );
###補足
ちなみに引数の$utc
には、JSで下記を実行したときの結果を代入したい考えです。
なのでアラスカは「-540」(-9:00)で、日本なら「540」(+9:00)になるだろうという考えです。
js
1var offset = new Date().getTimezoneOffset(); 2console.log(offset);
###前提
あくまでset_time( $utc, $ux_time )
のようにして、引数として「タイムゾーンの時差」と「標準時間のミリ秒」を使いたいというのが前提になります。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 10:35
2019/05/22 10:43