質問編集履歴
3
修正したコードを追記。
test
CHANGED
File without changes
|
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
-
```
|
31
|
+
```GoogleAppsScript
|
32
32
|
|
33
33
|
// 前日の日付を取得
|
34
34
|
|
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
|
70
70
|
|
71
|
-
```
|
71
|
+
```GoogleAppsScript
|
72
72
|
|
73
73
|
var today = new Date();
|
74
74
|
|
@@ -77,3 +77,43 @@
|
|
77
77
|
Logger.log.log(yesterday.getTime());
|
78
78
|
|
79
79
|
```
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
### 回答を踏まえて修正したコード
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
```GoogleAppsScript
|
90
|
+
|
91
|
+
var yesterday = new Date();
|
92
|
+
|
93
|
+
yesterday.setDate(yesterday.getDate() - 1);
|
94
|
+
|
95
|
+
var year = yesterday.getFullYear();
|
96
|
+
|
97
|
+
var month = ("0" + (yesterday.getMonth() + 1)).slice(-2); // 桁を2桁に加工
|
98
|
+
|
99
|
+
var date = ("0" + yesterday.getDate()).slice(-2); // 桁を2桁に加工
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
// UNIXタイムスタンプに変換
|
104
|
+
|
105
|
+
yesterday = year + "/" + month + "/" + date;
|
106
|
+
|
107
|
+
yesterday = Date.parse(yesterday + " 00:00:00 GMT+0900"); // 年月日は「2019/08/30」が入っているという想定
|
108
|
+
|
109
|
+
yesterday = yesterday / 1000; // 1行上で出力されるのはミリ秒なので1000で割って秒にする。ミリ秒だとPocketAPIから記事データが返ってこない。
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
Logger.log(yesterday); // 1.5670908E9 指数表記
|
114
|
+
|
115
|
+
Logger.log(yesterday + ""); // 1567090800 整数表記 数値ではなく文字列として扱うことで整数で表示できる
|
116
|
+
|
117
|
+
Logger.log(yesterday.toFixed()); // 1567090800 toFixedメソッドを使用することでも整数表記にできる
|
118
|
+
|
119
|
+
```
|
2
問題について加筆しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,11 +24,7 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
上記の「2」で日時指定する際にUNIXタイムスタンプを使用する必要があるのですが、日時からUNIXタイムスタンプへの変換のところで結果が思うようにならず詰まっています。
|
27
|
+
上記の「2」で日時指定する際にUNIXタイムスタンプを使用する必要があるのですが、日時からUNIXタイムスタンプへの変換のところで結果が思うようにならず詰まっています。下記が該当部分のコードです。
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
ローカルにてブラウザ上で実行したときは、結果が「1567090800000」となるので正常に動いているようです。
|
32
28
|
|
33
29
|
|
34
30
|
|
@@ -60,11 +56,15 @@
|
|
60
56
|
|
61
57
|
|
62
58
|
|
59
|
+
変数`yesterday`に最終的に入る値が「1567090800000」となるのが正常なのかなと思っています。しかし、GAS上で実行すると「1.5670908E12」となってしまうため、APIに渡す値として使用できない状態です。値としてみると`.`を除けば途中までは共通点があるので、GAS上で何かしらの変換などの処理が行われてしまっているのでしょうか?
|
63
60
|
|
64
61
|
|
65
62
|
|
63
|
+
上記のコードをローカルのHTMLに記述して実行したときは結果が「1567090800000」となりました。
|
66
64
|
|
65
|
+
|
66
|
+
|
67
|
-
|
67
|
+
下記のコードも書いて試したのですが結果は同じでした。
|
68
68
|
|
69
69
|
|
70
70
|
|
1
勉強中の初心者のため初心者アイコンを設定しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
|
70
70
|
|
71
|
-
```JavaScript
|
71
|
+
``` JavaScript
|
72
72
|
|
73
73
|
var today = new Date();
|
74
74
|
|