質問: cals.createEvent(thing, ndates, ndatee); var thing =nname+"様 \n\n 予約完了いたしました。\n\n "+startdate+"〜"+enddate MailApp.sendEmail("メール宛先","スタジオ予約完了",thing); } else{ var thing =nname+"様 \n\n ご予約の時間に先約がありましたので、\n 申し訳ございませんが、ご予約いただけませんでした。\n\n ご予定を変更して再度お申込みください" MailApp.sendEmail("メール宛先","ご予約できませんでした",thing); } } catch(exp){ //実行に失敗した時に通知 MailApp.sendEmail("メール宛先", exp.message, exp.message); } } ```
回答: > > Fri Dec 01 2017 23:00:00 GMT+0900 (JST)〜Sat Dec 02 2017 02:00:00 GMT+0900 (JST) > > といった感じの表記になります。 > > 日本語表記?(2017/11/11 11:00-2017/11/11 12:00)にすることは可能でしょうか? > > > 特に指定しないとDate型オブジェクトを文字列にするときにはそのように表記するように変換されます。これは世界の各地での表記に対応させるためです。 「JavaScript Date format」などと検索すると様々な正規の変換方法がヒットしますので参照してみてください。例えば`Date.prototype.toLocaleString`メソッドがあります。Date.prototype.toLocaleString() ただ、それらの「正規の」方法を使って自分の欲しい表記を求めるとハマることが多いです。フォームやカレンダーでの表記が日本時間(JST +09:00)固定で、日本でしか使わないのであれば自力で変換して、求める表記にしてしまった方が簡便で良いかもしれません。 例えば以下のようなメソッドを作って "YYYY/MM/DD hh:mm"の表記で日時文字列を生成します。 ``` function toDateTimeString(date) { var YYYY = date.getFullYear(); // ※Date.getMonth() は実際の月 - 1の値 var month = date.getMonth() + 1; var MM = ('0' + String(month)).slice(-2); var DD = ('0' + String(date.getDate())).slice(-2); var hh = ('0' + String(date.getHours())).slice(-2); var mm = ('0' + String(date.getMinutes())).slice(-2); var s = YYYY + '/' + MM + '/' + DD + " " + hh + ":" + mm; return s; } ``` これを日時を使うところで使用します。ご提示のコードならば、以下のようでしょうか。 ``` //元のコード var thing =nname+"様 \n\n 予約完了いたしました。\n\n "+startdate+"〜"+enddate var thing = nname + "様 \n\n 予約完了いたしました。\n\n " + toDateTimeString(startdate) + "〜" + toDateTimeString(enddate); ``` とすれば、日時の文字列部分が"YYYY/MM/DD hh:mm" になります。お好みに応じて色々使ってみてください。