teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメントを受けて追記

2020/03/16 04:22

投稿

tsurugi
tsurugi

スコア89

answer CHANGED
@@ -3,12 +3,43 @@
3
3
  Date型の変換には`date.toLocaleString()`を利用してください。
4
4
 
5
5
 
6
- 質問者さんの欲しい感じだとこんな感じですかね。V8エンジンの方で動作を確認しています。
6
+ 質問者さんの欲しい感じだとこんな感じですかね。V8エンジンの方で動作させるなら`.replace(/ JST/,'')`は不要です。
7
7
 
8
8
  ```js
9
9
  function dateToString(date){
10
- return date.toLocaleString().replace(/(\d{4}).(\d{1,2}).(\d{1,2})/,'$1年$2月$3日');
10
+ return date.toLocaleString().replace(/(\d{4}).(\d{1,2}).(\d{1,2})/,'$1年$2月$3日').replace(/ JST/,'');
11
11
  }
12
12
  ```
13
13
 
14
- `Logger.log(dateToString(new Date()) )`で挙動を確認してみてください。
14
+ `Logger.log(dateToString(new Date()) )`で挙動を確認してみてください。
15
+
16
+ ---
17
+
18
+ コメントを受けて追記:え〜……。
19
+
20
+ コードはスプレッドシートを参照しているのでGoogleFormsだけの自動返信ではないはずです。
21
+
22
+ 乱暴な解決策になりますが、コードの可読性を度外視するなら以下のことを試してください。
23
+
24
+ - 以下のコードの1行を書き換える
25
+
26
+ ```js
27
+ var col_value = rg.getCell(rows, i).getValue(); // 入力値
28
+ ```
29
+
30
+ ↑を↓に書き換える
31
+
32
+ ```js
33
+ var col_value = dateToString(rg.getCell(rows, i).getValue());
34
+ ```
35
+
36
+ - 以下のコードをコード全体の下か上に追加する
37
+
38
+ ```js
39
+ function dateToString(date){
40
+ var toString = Object.prototype.toString
41
+ if(!toString.call(date).match(/Date/)) return date;
42
+ return date.toLocaleString().replace(/(\d{4}).(\d{1,2}).(\d{1,2})/,'$1年$2月$3日').replace(/ JST/,'');
43
+ }
44
+ ```
45
+ たぶん、日付は変更されると思います。

1

コード部分にシンタックスハイライトを追加

2020/03/16 04:22

投稿

tsurugi
tsurugi

スコア89

answer CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  質問者さんの欲しい感じだとこんな感じですかね。V8エンジンの方で動作を確認しています。
7
7
 
8
- ```
8
+ ```js
9
9
  function dateToString(date){
10
10
  return date.toLocaleString().replace(/(\d{4}).(\d{1,2}).(\d{1,2})/,'$1年$2月$3日');
11
11
  }