回答編集履歴
1
誤字修正
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
私の言語設定が英語なので日本語のデフォルトは分かりませんが、英語の場合`11/1/2022 13:00:00`と入力すれば、date型と認識されます。
|
21
21
|
(もしかしたら日本語版は`2022/11/1 13:00:00`かもしれません)
|
22
22
|
|
23
|
-
これの表示を日本語の年月日などに変更する方法は公式ドキュメントに紹介されています。
|
23
|
+
もし必要であれば、これの表示を日本語の年月日などに変更する方法は公式ドキュメントに紹介されています。
|
24
24
|
|
25
25
|
>スプレッドシートにカスタムの日付形式や時刻形式を適用するには:
|
26
26
|
> 1. パソコンの Google スプレッドシートで、スプレッドシートを開きます。
|
@@ -32,7 +32,7 @@
|
|
32
32
|
> デフォルトで検索結果に表示される時刻と日付の項目は、スプレッドシートの言語や地域により異なります。
|
33
33
|
> 表示形式に時間や分など、時刻や日付の詳細な値を追加する場合は、テキスト ボックスの右側にある下向き矢印をクリックして追加する値を選択します。これらの値の表示形式を変更するには、値の矢印をクリックして項目を選択します。表示形式から値を削除するには、値をクリックして [削除] を選択します。
|
34
34
|
|
35
|
-
これを設定しておくと、`2022/11/1 13:00`と入力しても、自動でそれがdate
|
35
|
+
これを設定しておくと、`2022/11/1 13:00`と入力しても、自動でそれがdateとして認識され、さらに表示形式は`2022年11月1日 13:00`など任意の形式で表示することができます。
|
36
36
|
|
37
37
|
これで`formatDate()`の第一引数にいれられるdate型になりましたので、エラーをはくことなく日付の表示形式の変換ができるのではないでしょうか。
|
38
38
|
スプレッドシートの設定のみでできてしまうので、今回のケースの場合GASで変換する意味がもしかしたらなくなるかもしれませんね。
|
@@ -54,11 +54,9 @@
|
|
54
54
|
const formatedCustomDay = Utilities.formatDate(customDay, 'JST', 'yyyy/MM/dd HH:mm~');
|
55
55
|
console.log(formatedCustomDay); // 2022/11/01 13:00~
|
56
56
|
|
57
|
-
// B4 = た
|
57
|
+
// B4 = ただの文字列の「2022年11月1日 13:00」
|
58
58
|
const stringDay = sheet.getRange('B4').getValue();
|
59
59
|
const formatedStringDay = Utilities.formatDate(stringDay, 'JST', 'yyyy/MM/dd HH:mm~');
|
60
60
|
console.log(formatedStringDay); // エラー
|
61
61
|
}
|
62
62
|
```
|
63
|
-
|
64
|
-
````
|