Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

202006 のの会@関数Talk 21th @function-talk-in-notesknows-workshop

88 views

Published on

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第21回は @Date と @Time について。

Published in: Software
  • Be the first to comment

  • Be the first to like this

202006 のの会@関数Talk 21th @function-talk-in-notesknows-workshop

  1. 1. @ @ -notes knows community- 2020/06/04 阿部 覚 (tw:) @abesat @関数Talk 第21回 公開版
  2. 2. @ @ 熟成を待っていたら3カ月近くたってしまいましたが 前回、 @Adjustや日時の定数を扱った流れで 今回も日時関係でTalkさせていただきます
  3. 3. @ @ @Date を雑談その1
  4. 4. @ @ @Dateのメジャーだと思う使い方@Dateのメジャーだと思う使い方 「日付だけにする関数」ですね いつものように 上段:式 下段:結果の値 というフォームを 説明に用いています
  5. 5. @ @ @Dateのメジャーだと思う使い方@Dateのメジャーだと思う使い方 「日付だけにする関数」 @Dateで、時間の情報を略します よくある例としては、作成日・更新日を表示するとき
  6. 6. @ @ @Dateのメジャーだと思う使い方@Dateのメジャーだと思う使い方 「日付だけにする関数」 日付がない時間だけの値に使うと、消えます ちなみに、日付だけにするわけだから
  7. 7. @ @ じゃあ、マイナーな使い方って? あくまで あべの 主観ですが
  8. 8. @ @ @Dateのマイナーだと思う使い方@Dateのマイナーだと思う使い方 こんな使い方です メジャーだと思う使い方は 「日付だけにする関数」なのに対して これは 「日付にする関数」と言っていいかな 年年 月月 日日 セミコロンで区切った引数内に設定した数値の組み合わせで 日付値が生成されます(数は全角でもOKでした)
  9. 9. @ @ @Dateのマイナーだと思う使い方@Dateのマイナーだと思う使い方 「日付にする関数」 ただ、エラーが出るわけではないみたい 年年 月月 👻👻 もちろん、カレンダー的にあり得ない値を指定したら 変換されません 年年 👻👻 日日
  10. 10. @ @ マイナーな使い方、もうひとつありまして でも後回しにします いったん別の関数に話を移します
  11. 11. @ @ @Time を雑談その1
  12. 12. @ @ @Timeのメジャーだと思う使い方@Timeのメジャーだと思う使い方 「時刻だけにする関数」ですね
  13. 13. @ @ @Timeのメジャーだと思う使い方@Timeのメジャーだと思う使い方 「時刻だけにする関数」 日付だけで時刻がない値に使うと、消えます ちなみに、時刻だけにするわけだから
  14. 14. @ @ じゃあ、マイナーな使い方って? あくまで あべの 主観ですが
  15. 15. @ @ @Timeのマイナーだと思う使い方@Timeのマイナーだと思う使い方 こんな使い方です メジャーだと思う使い方は 「時刻だけにする関数」なのに対して これは 「時刻にする関数」と言っていいかな 時時 分分 秒秒 セミコロンで区切った引数内に設定した数値の組み合わせで 時刻値が生成されます
  16. 16. @ @ @Timeのマイナーだと思う使い方@Timeのマイナーだと思う使い方 「時刻にする関数」 ただ、エラーが出るわけではないみたい 時時 秒秒👻👻 もちろん、あり得ない時刻を指定したら 変換されません 分分👻👻 秒秒
  17. 17. @ @ @Timeのマイナーだと思う使い方@Timeのマイナーだと思う使い方 「時刻にする関数」 なんと、「秒」だけは、6060秒、秒、6161秒のときに限り秒のときに限り、 繰り上がりします!理由があるのかなぁ… 時時 分分 😇😇 あれ? 時時 分分 😇😇
  18. 18. @ @ ここで改めて 先ほど保留したおはなし
  19. 19. @ @ @Date を雑談その2
  20. 20. @ @ @Dateのマイナーだと思うもうひとつの使い方@Dateのマイナーだと思うもうひとつの使い方 こんな使い方です 引数が6つに増えます 関数名は@Dateなのに、内容としてはDate Time なのです 「日時にする関数」と言っておきましょう 時時 分分 秒秒 セミコロンで区切った引数内に設定した数値の組み合わせで 日時値が生成されます(数は全角でもOKでした) 年年 月月 日日
  21. 21. @ @ @Dateのマイナーだと思うもうひとつの使い方@Dateのマイナーだと思うもうひとつの使い方 時時 分分 秒秒 60, 61を指定したら繰り上がり、 ご覧のように内容次第で日付のほうまで繰り上がります 年年 月月 日日 「日時にする関数」 やはり、あり得ない日時を指定したら 変換されないのですが、やはり秒だけは特別らしく
  22. 22. @ @ @Time を雑談その2
  23. 23. @ @ @Timeのマイナーだと思うもうひとつの使い方@Timeのマイナーだと思うもうひとつの使い方 こんな使い方です 引数が6つに増えます 関数名は@Timeなのに、内容としてはDate Time なのです 「日時にする関数」と言っておきましょう 時時 分分 秒秒 セミコロンで区切った引数内に設定した数値の組み合わせで 日時値が生成されます(数は全角でもOKでした) 年年 月月 日日
  24. 24. @ @ @Timeのマイナーだと思うもうひとつの使い方@Timeのマイナーだと思うもうひとつの使い方 時時 分分 秒秒 60, 61を指定したら繰り上がり、 ご覧のように内容次第で日付のほうまで繰り上がります 年年 月月 日日 「日時にする関数」 やはり、あり得ない日時を指定したら 変換されないのですが、やはり秒だけは特別らしく
  25. 25. @ @ @Date @Time を雑談その2 もうお気づきですね? …ということで 合体しちゃいます
  26. 26. @ @ @Date・@Timeのマイナーだと思うもうひとつの使い方@Date・@Timeのマイナーだと思うもうひとつの使い方 「日時にする関数」 つまりこの使い方に関する限り、 @Dateと@Timeはどちらでも全く同じ動きをする、と言えそうです
  27. 27. @ @ マイナーだと思う使い方のメリットは?マイナーだと思う使い方のメリットは? 本Talkでは、自分の経験と主観だけで「マイナー」と呼んじゃいました 引数で数値を指定するやり方、 私はあまり(ほぼ)実アプリで見た記憶がありません
  28. 28. @ @ マイナーだと思う使い方のメリットは?マイナーだと思う使い方のメリットは? あまり使われてなさそうな理由として思い浮かぶのは 日時定数を使えば済む、というのがありそうに思います 変数を使わずに直接日付を指定する用途(ハードコード)なら @Dateとか使わずとも、日時定数のほうがわかりやすいです
  29. 29. @ @ マイナーだと思う使い方のメリットは?マイナーだと思う使い方のメリットは? でも日時定数のままだと… こちらはOSの地域設定を英語(米国)の日時設定に変えたときの表示 つまり日時定数は、地域が変われば「年 月 日」の順序も その地域に合わせて設定され、同じ式が効かなくなる場合があります 日本では日本ではOKOKの式がの式が 他の環境では他の環境では エラーになることがあるエラーになることがある 日本では日本ではOKOKの式がの式が 他の環境では他の環境では エラーになることがあるエラーになることがある
  30. 30. @ @ マイナーだと思う使い方のメリットは?マイナーだと思う使い方のメリットは? 国際利用を意識したら、関数のほうがおすすめと言えそうです いっぽう、関数を用いれば、時刻設定の環境が変わっても エラーを出さずに値を返してくれます 前回前回TalkTalkしたした @Adjust@Adjustも同様も同様 前回前回TalkTalkしたした @Adjust@Adjustも同様も同様 関数内の引数の日時順序は関数内の引数の日時順序は 常に常に 年年;; 月月;; 日日;; 時時;; 分分;; 秒秒 いわば万国共通いわば万国共通 🌎💛🌎💛 関数内の引数の日時順序は関数内の引数の日時順序は 常に常に 年年;; 月月;; 日日;; 時時;; 分分;; 秒秒 いわば万国共通いわば万国共通 🌎💛🌎💛
  31. 31. @ @ 久々のお付き合い ありがとうございました 😀 他にご存知のメリットがあったら 教えてください

×