質問編集履歴
2
質問内容変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
UTC(協定世界時)をローカル時間へ変換
|
1
|
+
UTC(協定世界時)をローカル時間へ変換し、switchでの分岐質問内容変更
|
test
CHANGED
@@ -1,83 +1,83 @@
|
|
1
|
-
任意のUTCで表示される時間をローカル(タイムゾーン又はPCに設定している時間)時間へ変換する方法がわかりません。
|
2
|
-
|
3
|
-
実装はJavaScriptとJavaのどちらかで考えており、JavaScriptの方はなんとなくイメージが出来たのですが、
|
4
|
-
|
5
|
-
|
1
|
+
ご回答くださいました、皆さんの少し前進いたしましたので、質問内容を変更いたします。
|
6
2
|
|
7
3
|
|
8
4
|
|
9
|
-
|
5
|
+
■現状
|
10
6
|
|
11
|
-
|
7
|
+
・UTC時間の取得が行えた。
|
12
8
|
|
13
|
-
|
9
|
+
・現状の時間(クライアントPCに設定した時間)の取得が行えた。
|
14
10
|
|
15
11
|
|
16
12
|
|
13
|
+
■目的
|
14
|
+
|
17
|
-
|
15
|
+
UTC時間とクライアントPCの設定時間を引き算し、その結果をseitchで分岐させたいです。
|
18
16
|
|
19
17
|
|
20
18
|
|
19
|
+
■質問
|
20
|
+
|
21
|
+
・日時(yyyy/MM/dd HH:mm:ss形式)の演算方法
|
22
|
+
|
23
|
+
⇒UTC時間とクライアントPCの設定時間を引き算(1時間単位)を行いたいのですが、UTCの時間取得をStringで行っているため、
|
24
|
+
|
21
|
-
|
25
|
+
計算が出来ず、困っております。
|
26
|
+
|
27
|
+
|
22
28
|
|
23
29
|
```ここに言語を入力
|
24
30
|
|
25
|
-
# function getTzOff() {
|
26
|
-
|
27
|
-
|
31
|
+
package sample;
|
28
|
-
|
29
|
-
# //date.getHours():ローカル時間を取得、date.getUTCHours:UTCの時間を取得
|
30
|
-
|
31
|
-
# return tzoff = ( date.getHours() - date.getUTCHours() + 24 ) % 24;
|
32
|
-
|
33
|
-
# }
|
34
|
-
|
35
|
-
```
|
36
32
|
|
37
33
|
|
38
34
|
|
39
|
-
|
35
|
+
import java.text.DateFormat;
|
40
36
|
|
41
|
-
|
37
|
+
import java.text.SimpleDateFormat;
|
42
38
|
|
43
|
-
|
39
|
+
import java.util.Calendar;
|
44
40
|
|
45
|
-
|
41
|
+
import java.util.Date;
|
46
42
|
|
47
|
-
#
|
48
|
-
|
49
|
-
# // 月
|
50
|
-
|
51
|
-
# date.getMonth() + 1;
|
52
|
-
|
53
|
-
#
|
54
|
-
|
55
|
-
# // 日
|
56
|
-
|
57
|
-
# date.getDate();
|
58
|
-
|
59
|
-
#
|
60
|
-
|
61
|
-
# // 時
|
62
|
-
|
63
|
-
# date.getHours();
|
64
|
-
|
65
|
-
#
|
66
|
-
|
67
|
-
# // 分
|
68
|
-
|
69
|
-
|
43
|
+
import java.util.TimeZone;
|
70
|
-
|
71
|
-
#
|
72
|
-
|
73
|
-
# // 秒
|
74
|
-
|
75
|
-
# date.getSeconds();
|
76
|
-
|
77
|
-
```
|
78
44
|
|
79
45
|
|
80
46
|
|
81
|
-
|
47
|
+
public class sample {
|
82
48
|
|
49
|
+
public static void main(String[] args) {
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
Date date = new Date();
|
54
|
+
|
55
|
+
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
56
|
+
|
57
|
+
//クライアントPCの設定時間、PCの時間を変更すると反映される。
|
58
|
+
|
59
|
+
System.out.println(sdf1.format(date));
|
60
|
+
|
61
|
+
|
62
|
+
|
83
|
-
|
63
|
+
//UTC時間の取得
|
64
|
+
|
65
|
+
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
|
66
|
+
|
67
|
+
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
68
|
+
|
69
|
+
df.setTimeZone(cal.getTimeZone());
|
70
|
+
|
71
|
+
String timestamp = df.format(cal.getTime());
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
System.out.println(timestamp);
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
```
|
1
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
任意のUTCで表示される時間をローカル(
|
1
|
+
任意のUTCで表示される時間をローカル(タイムゾーン又はPCに設定している時間)時間へ変換する方法がわかりません。
|
2
|
-
|
3
|
-
イメージは以下の通りです。
|
4
2
|
|
5
3
|
実装はJavaScriptとJavaのどちらかで考えており、JavaScriptの方はなんとなくイメージが出来たのですが、
|
6
4
|
|
7
5
|
javaが全く分からず困っております。できればJavaで書きたいと考えております。
|
8
6
|
|
9
7
|
|
8
|
+
|
9
|
+
イメージは以下の通りです。
|
10
10
|
|
11
11
|
①.UTCとローカル時間の差分を求める。
|
12
12
|
|