回答編集履歴

2

誤記修正

2017/03/30 06:37

投稿

tkanda
tkanda

スコア2425

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  console.log(now.toLocaleString());
14
14
 
15
- console.log(an_hour_agotoLocaleString());
15
+ console.log(an_hour_ago.toLocaleString());
16
16
 
17
17
 
18
18
 
@@ -50,7 +50,7 @@
50
50
 
51
51
  console.log(now.toLocaleString());
52
52
 
53
- console.log(an_hour_agotoLocaleString());
53
+ console.log(an_hour_ago.toLocaleString());
54
54
 
55
55
 
56
56
 

1

別の方法を追記。

2017/03/30 06:37

投稿

tkanda
tkanda

スコア2425

test CHANGED
@@ -1,4 +1,44 @@
1
+ 基本的には下記の方法で設定できます。
2
+
3
+
4
+
5
+ ```JavaScript
6
+
7
+ var now = new Date();
8
+
9
+ var an_hour_ago = new Date();
10
+
11
+ an_hour_ago.setHours(now.getHours() -1);
12
+
13
+ console.log(now.toLocaleString());
14
+
15
+ console.log(an_hour_agotoLocaleString());
16
+
17
+
18
+
19
+ /**
20
+
21
+ * 出力結果
22
+
23
+ *
24
+
25
+ * "2017/3/30 12:50:58"
26
+
27
+ * "2017/3/30 11:50:58"
28
+
29
+ */
30
+
31
+ ```
32
+
33
+ この場合、setHours() の引数が -1 や 25 など、0 ~ 24の範囲から外れていても、正しい日時に補正されます。
34
+
35
+ つまり、現在時刻が 2017/3/30 00:50:58 の時点で上記のコードを実行すると二番目の出力は "2017/3/29 23:50:58" のように補正されるという意味です。
36
+
37
+
38
+
1
- JavaScriptのDateオブジェクトの内部表現はミリ秒単位の整数値なので、加算減算で目的の日時を得ることができます。
39
+ なお、JavaScriptのDateオブジェクトの内部表現はミリ秒単位の整数値なので、整数値を加算減算ること
40
+
41
+ で目的の日時を得ることもできます。
2
42
 
3
43
 
4
44