2012年8月6日月曜日

DateTimeFormatContents


Googleカレンダーへイベントを追加するGoogleAppsScriptの処理です。

calendar.createEvent("美容院",
                       new Date(startDate),
                       new Date(endDate));

このときの日付(startDate, endDate)の書式はdateBoxで取得したそのままです。
こうなります→ 2012-08-06

この書式は登録できないようなので書式をかえて試してみると、なんとあっさり!

× yyyy-mm-dd
○ yyyy/mm/dd

dateBoxの書式に yyyy/mm/dd なるものがあるのか?と調べてみました。

setFormat()に DateTimeFormatContents を指定します。

例)
var dateFormat = UiApp.DateTimeFormat.DATE_FULL;
var dtHoge = app.createDateBox().setId("date1").setFormat(dateFormat);

いろいろありました。



DateTimeFormatContents取得した値
ISO_86012012-08-06T12:00:00.000+09:00
RFC_2822Mon, 6 Aug 2012 12:00:00 +0900
DATE_FULLMonday, 2012 August 06
DATE_LONG2012 August 6
DATE_MEDIUM2012 Aug 6
DATE_SHORT2012-08-06
TIME_FULL12:00:00 UTC+9
TIME_LONG12:00:00 UTC+9
TIME_MEDIUM12:00:00
TIME_SHORT12:00
DATE_TIME_FULLMonday, 2012 August 06 12:00:00 UTC+9
DATE_TIME_LONG2012 August 6 12:00:00 UTC+9
DATE_TIME_MEDIUM2012 Aug 6 12:00:00
DATE_TIME_SHORT2012-08-06 12:00
DAY6
HOUR_MINUTE12:00 PM
HOUR_MINUTE_SECOND12:00:00 PM
HOUR24_MINUTE12:00
HOUR24_MINUTE_SECOND12:00:00
MINUTE_SECOND00:00
MONTHAugust
MONTH_ABBRAug
MONTH_ABBR_DAYAug 6
MONTH_DAYAugust 6
MONTH_NUM_DAY8-6
MONTH_WEEKDAY_DAYMonday August 6
YEAR2012
YEAR_MONTH2012 August
YEAR_MONTH_ABBR2012 Aug
YEAR_MONTH_ABBR_DAY2012 Aug 6
YEAR_MONTH_DAY2012 August 6
YEAR_MONTH_NUM2012-8
YEAR_MONTH_NUM_DAY2012-8-6
YEAR_MONTH_WEEKDAY_DAYMon, 2012 Aug 6
YEAR_QUARTER2012 3rd quarter
YEAR_QUARTER_ABBR2012 Q3

YEAR_QUARTER, YEAR_QUARTER_ABBR のとき dateBoxの背景がピンクになった!なぜ?

結局、yyyy/mm/dd なる書式はありませんでした。


(追記)
dateBox()から取得した値をそのまま使用すればよかったということでした。


calendar.createEvent("美容院",
                       e.parameter.date1,
                       e.parameter.date2);


よく調べないとダメですね。反省。
 

0 件のコメント:

コメントを投稿