はじめに
こんにちは、現在kintoneノーコード開発で日々試行錯誤しているばんちゃん(@Banchan_k12)です。
今回は、日付フィールドを使って、こんな表示があったらいいな~という値の設定方法がkintoneヘルプで紹介されているので設定してみたいと思います。
対象
- 和暦を使う機会があり、西暦から和暦を調べて変換している方
- 特定の日付からn日後の締め切りや期限などを自動で知りたい方
導入
kintoneのフィールドを設定する中で、申込日・開始日/終了日・生年月日など日付フィールドを設定することが多くあります。
kintoneでは入力した日付を使って計算設定することもできます。日付フィールドを使った計算について少し掘り下げてみようと思います。
kintoneには日付、時刻、日時フィールドの3種があり、計算式から参照が可能です。
kintone ヘルプ
(この記事を書くために開いたら、画面がリニューアルしていてびっくり)
事例1:生年月日を和暦で表示したい
詳しい設定方法はkintoneヘルプに記載されているので、その通りに設定してみます。
生年月日を入力すると和暦が表示され、設定完了!
いや~すばらしい
和暦ってなんだかんだで必要だったりするので、西暦をいちいち調べて変換するのは結構大変。
と思っていました...が、
入力時に生年月日が不明な方の「生年月日」フィールドを空欄にして保存したところ、こんな風になりました。
生年月日を入力していないのに、なんで日付が入ってる
しかもなんで「昭和45年1月1日」
kintoneヘルプを見直してみます。
kintoneヘルプ
日付、時刻、日時フィールドの値の扱われ方
日付、時刻、日時のフィールドの値は、UNIX時刻として扱われます。UNIX時刻とは、1970年1月1日午前0時 協定世界時(UTC)からの経過秒数のことです。
kintoneヘルプ
注意:日付フィールドが未入力の場合
DATE_FORMAT関数で参照している日付フィールドが空欄の場合、文字列(1行)フィールドには、1970-01-01が表示されます。
上記2点の仕様で「昭和45年1月1日」という値がセットされてしまうのですね。
では、回避する方法は~
- 日付フィールドの初期値を設定する
- 文字列(1行)フィールドにIF関数の計算式を設定する
日付が空欄の場合、文字列(1行)も空欄にできます
今回の場合、初期値設定ではなく、「生年月日」がはいっていなければ和暦も空欄にしたいということで、以下のように計算式を修正してみました。
この設定に変更してデータを保存すると
無事、「生年月日(和暦)」フィールドも空欄になりました
事例2:申込日から30日後の終了日を計算したい
はい、またまた詳しい設定方法はkintoneヘルプに記載されているので、その通りに設定してみます。
kintoneヘルプ
申込日から30日後の試用終了日を計算する
kintoneでは、日付、時刻、日時のフィールドの値はUNIX時刻として扱われます。このため、日付や日時は秒単位で扱い、計算式も秒単位で指定します。たとえば、1分間は「60」、1時間は「3600」または「60*60」と入力します。
「体験申し込み日」から30日後の日付が「体験終了日」に表示されました。
生年月日の時と同じ回避方法で、以下の通り計算式を修正してみました。
まとめ
日付フィールドを設定するだけでなく、日付を使って色んな計算をすることができるので、kintoneヘルプにはTipsが紹介されているのでぜひ調べてみて、あったらいいな~と思う値を設定してみてください。
ますます活用の幅が広がると思います。