質問編集履歴
1
形式をそろえました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
###実現したいこと
|
1
|
-
下記の``set_time``という関数で、指定したタイムゾーンの
|
2
|
+
下記の``set_time( $utc, $ux_time )``という関数で、指定したタイムゾーンの日時を出力したいです。
|
2
3
|
|
4
|
+
しかし下記コードでは、「49387080/05/23 05:27:40」というわけのわからない年になってしまうのですが、どのようにしたら正しく取得できるでしょうか?
|
3
5
|
|
6
|
+
###試したこと
|
4
7
|
たとえばアラスカのタイムゾーンなら「 -540 (-9:00)」だそうなので、``$utc``に``-540``を渡して計算しようという意図で書いてみました。
|
5
8
|
|
6
9
|
```PHP
|
@@ -9,20 +12,23 @@
|
|
9
12
|
|
10
13
|
// 指定の国の日時に変換(2109/05/23 05:27:40の形式)
|
11
14
|
function set_time( $utc, $ux_time ){
|
12
|
-
$country_time = date( "Y/m/d H:i:s", ($ux_time*1000) + $utc);
|
15
|
+
$country_time = date( "Y/m/d H:i:s", ($ux_time*1000) + $utc); // タイムゾーンで日時を調整
|
13
16
|
return $country_time;
|
14
17
|
}
|
15
18
|
|
16
19
|
// 確認
|
17
20
|
echo set_time( -540, $ux_time );
|
18
21
|
```
|
19
|
-
しかし上をすると、「49387080/05/23 05:27:40」というわけのわからない年になってしまうのですが、どのようにしたら正しく取得できるでしょうか?
|
20
22
|
|
21
|
-
---
|
22
23
|
|
24
|
+
|
25
|
+
###補足
|
23
26
|
ちなみに引数の``$utc``には、JSで下記を実行したときの結果を代入したい考えです。
|
24
27
|
なのでアラスカは「-540」(-9:00)で、日本なら「540」(+9:00)になるだろうという考えです。
|
25
28
|
```js
|
26
29
|
var offset = new Date().getTimezoneOffset();
|
27
30
|
console.log(offset);
|
28
|
-
```
|
31
|
+
```
|
32
|
+
|
33
|
+
###前提
|
34
|
+
あくまで``set_time( $utc, $ux_time )``のようにして、引数として「タイムゾーンの時差」と「標準時間のミリ秒」を使いたいというのが前提になります。
|