AppSheetMemo

AppSheetを使ったスマホアプリ開発メモ。画像メインなのでPC閲覧推奨。

カレンダーの日付範囲(Date型)

■ 現象の確認

カレンダーの日付範囲について気になる点を現象の確認から。データシートはこんな感じのものを用意。日付は全てDate型。

f:id:tanaka0:20210915131459p:plain

 

何も考えず作成すると出来上がるのがコレ。全部、日付範囲が1日足らんです・・・

f:id:tanaka0:20210915131858p:plain

 

カレンダービューは秒刻みのタイムスケジュールも組めるので、内部的にDate型をDatetime型に変換してるのではないか?そうすると9/12~9/14は9/12 0:00:00~9/14 0:00:00になり、図に書いてみると確かにこの通りになる。だけど当日範囲だけは正しく表示されてる・・・ちょい矛盾。

 


 

■ 対策

これはDate型だけを使っている場合の対策です。見た目が1日足りなければ1日足してやればよい。バーチャルカラム作成、内容は終了日+1だけ。この部分は編集時に表示しても意味が無いのでShowはOFF。

f:id:tanaka0:20210915135442p:plain

 

終了範囲を上記で作成したバーチャルカラムに置き換える。作業は以上。

f:id:tanaka0:20210915135457p:plain

 

当日の範囲も(何故か)大丈夫そう。とりあえず矛盾なし。

f:id:tanaka0:20210915132922p:plain

※ 9/12~9/14をDatetime型で試してみたところ、終了日の指定を9/14 0:00:00にすると9/13までの範囲になり、9/14 0:00:01にすると9/14までの範囲になりました。ちょっとでも次の日に食い込んでいればよい模様。

 


 

■ 補足

DayとWeekを表示した時のこの部分。Date型が指定されれば使われず、Datetime型が指定されれば使われる模様。Datetime型でも日を跨いでいるデータの場合は使われない模様。当日の時間範囲指定の場合だけ使われる模様。

f:id:tanaka0:20210915141448p:plain

 

以上。