質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

3回答

16287閲覧

Googleフォームの日付フォーマットを変更したい

driki

総合スコア12

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2019/06/05 03:13

前提・実現したいこと

GoogleフォームからGoogleスプレッドシート(*)に受け渡される日付のフォーマットを

Thu Jun 06 2019 10:00:00 GMT+0900 (JST)

ではなく

2019年06月06日 10:00

としたい

(*)Googleフォームの回答用に紐づけされているGoogleスプレッドシート

補足情報

現在、フォームに紐付いたスプレッドシートから回答内容をメール送信して共有しています。
可能であればフォームからスプレッドシートに受け渡される段階で「yyyy年mm月dd日 HH:MM」になっていてほしいのですが、GoogleフォームのGASで制御することはできるのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

コードの体裁が崩れるんでこちらに。

こんな感じのをフォーム送信時トリガすればいい。
トリガが多重発動する報告があがっているので一応文字だったら処理をやめる程度の対策をした。

javascript

1function onSubmit(e) { 2 const sheet = SpreadsheetApp.getActiveSheet() 3 const lastTimeStampCell = sheet.getRange(sheet.getLastRow(), 1) //A列にタイムスタンプが入る 4 const lastTimeStamp = lastTimeStampCell.getValue() 5 if(typeof lastTimeStamp === "string") return; 6 lastTimeStampCell.setValue(Utilities.formatDate(lastTimeStamp, "JST", "YYYY'年'MM'月'dd'日' HH':'mm'")) 7} 8

投稿2019/06/05 14:51

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

シートでみたいなら書式を設定する

メールを、送るときにどうこうしたいなら

javascript

1Utilities.formatDate(new Date(), "JST", "YYYY'年'MM'月'dd'日'");

みたいな方法をつかう。

動くコードがほしいなら既存部分をだす。

詳細
データには型があり、日付は日付の型をしています。
設定で変わるものではないです。変えられるのはあくまで書式。
フォームから送られるときに変えるのはやめたほうがいいと思います。

投稿2019/06/05 10:21

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2019/06/05 10:24

例えば今日を6/5とするか、06/05とするかという問題がある。前者のスタイルで文字列化すると後々ソートが効かないなどで困る。 どう困るかはユースケースによる。だが、基本的に日付は日付型にしておくべき
guest

0

自動生成されるタイムスタンプが入力されたあとにGASで書き換えるような制御はできるかと思います。

投稿2019/06/05 05:57

hiroshi0240

総合スコア640

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

driki

2019/06/05 08:11

hiroshi0240様 ご回答ありがとうございます。 私の質問が言葉足らずで申し訳ございません。 対象のGoogleフォームは、社内で作業依頼のために使用しており、表記フォーマットを変えたいのはフォームに入力された日付・時間に対してとなります。 恥ずかしながら、自分自身スクリプトに明るくなく、公開されているスクリプトを見よう見まねで必要な箇所のみ修正して使用する程度なので、どのようなスクリプトを書けば実現できるかがさっぱりです・・。 もしよろしければサンプルスクリプト等ご提示いただけると嬉しいです。 よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問