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.

202003 functiontalkinnotesknowsworkshop20th

99 views

Published on

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談しております。
第20回は @Adjustを扱っています。また関連して、日付・時刻型の定数について少し。

Published in: Software
  • Be the first to comment

  • Be the first to like this

202003 functiontalkinnotesknowsworkshop20th

  1. 1. @ @ -notes knows community- 2020/03/12 阿部 覚 (tw:) @abesat @関数Talk 第20回 公開版
  2. 2. @ @ 過去のプレゼンを見直していたら 第2回にこんなお話しがありました
  3. 3. @ @ 要約します: 現在の日時を返す@Now関数では [SERVERTIME]という引数をつけることができます 引数なしの @Now は、PC上の日時を返しますが
  4. 4. @ @ 引数つきの @Now([SERVERTIME]) は、 サーバー上の日時を返します いっぽう、 昨日、今日、明日の値を返す @Yesterday、@Today、@Tomorrow の各関数は 常にPC上の日付を基準に値を返します サーバー上の日付を取り込む引数はありません したがって…
  5. 5. @ @なんてことを発表していたのですが 「またの機会」を忘れたままにしておりました そんなニーズがあるかどうかは怪しいですが せっかくなので今回、確認しようと思います
  6. 6. @ @ @Adjust を雑談
  7. 7. @ @ 日時を調節する関数です日時を調節する関数です 年年 月月 日日 時時 分分 秒秒 指定された日時の値を調整して変更します 図の例では、元の日時を 6秒+5分+4時間+3日+2か月+1年 進めています
  8. 8. @ @ 日時を調節する関数です日時を調節する関数です こちらは、文書の作成日時(@Created )と 「その20日前」を並べてみたもの 調整したいのが「日だけ」「時間だけ」という場合も 「年」「月」「日」「時」「分」「秒」すべて指定します 調整するところ以外は、0の指定になります
  9. 9. @ @ 日時を調節する関数です日時を調節する関数です こちらの例では 元の日付を「2日と1カ月」進めています 「1カ月と2日」といわないのは 単位の小さいほうから計算されるからです
  10. 10. @ @ 昨日・今日・明日は…昨日・今日・明日は… @Todayと同様の表現にするために @Dateという関数を使い、現在の日時を 今日の"日付だけ"にしています きっかけとなった冒頭のお話に戻ります PC上の日時をいじって不正な日付けを表示するのを防ぎたい場合 PC日付しか表現できない@Todayの代わりに まず「今日」をサーバー日時できっちり取得するとすると これ自体は @Adjust を使わなくてもできます
  11. 11. @ @ 昨日・今日・明日は…昨日・今日・明日は… 昨日・今日・明日をまとめて並べてみました 昨日 明日 そのうえで、昨日と明日については @Adjust を使用します
  12. 12. @ @ 元の日時について元の日時について こちらのリストはそれぞれの時間の10分前 最初の引数である日時ですが 複数指定できます それぞれの日の1週間後の日付のリスト
  13. 13. @ @ 元の日時について元の日時について 日付だけのほうは1日進み 時間だけのほうは2時間進む 実は、それらを組み合わせちゃうこともできる
  14. 14. @ @ 元の日時について元の日時について ○日後 と ■時間後 を まとめて出せたりもします ということは、 例えば、「開始日」と「開始時間」のフィールドが分かれている場合に ただし、時間が増加した結果、開始時間が0時をまわっても 開始日のほうは繰り上がったりはしないので、ご注意のほど
  15. 15. @ @ ついでに、値の限界も見たくなったりしてついでに、値の限界も見たくなったりして 果たしていくつまで指定できるの?というのを またやってみたくなりました 「秒」で試したところ この値を超えると、@Adjustが機能しなくなりました 前回、@DbLookup のお話しでも登場した「2の31乗」です
  16. 16. @ @ ついでに、値の限界も見たくなったりしてついでに、値の限界も見たくなったりして 「分」でも同様…
  17. 17. @ @ ついでに、値の限界も見たくなったりしてついでに、値の限界も見たくなったりして これ以上の検証が意味をなさなくなりました (実際には8桁の数値の途中でオーバーフローに達しちゃいます) ただし「時」まですすむと、結果の「年」部分がオーバーフローして
  18. 18. @ @ ここで、今回確認するうちに 気になったところを お話しさせていただこうかと
  19. 19. @ @ @Adjust を試してる うちに気になった 日時定数のお話し
  20. 20. @ @ ここでの日時定数とはここでの日時定数とは 各単位の先頭0は略してもよく 年と秒も略せます(略した場合は今年と0秒) この部分のことですね 角カッコ(ヘルプでは「ブラケット」と表現してるので検索時に注意)で かこまれた日時 ないしは 日付、時間 ヘルプでは「日付/時刻定数」と書いています
  21. 21. @ @ 気になったことその1:日付の最小値気になったことその1:日付の最小値 これ、どういうことかわかりますか? どうやら不具合ではないのです
  22. 22. @ @ 気になったことその1:日付の最小値気になったことその1:日付の最小値 1000年加算するのをやめるとこうなります つまり0001=2001
  23. 23. @ @ 気になったことその1:日付の最小値気になったことその1:日付の最小値 表現をこうかえたら少しわかるかな 要は「'01」ってことみたいです 1950~2049の間…現在を含む100年間は、2桁入力でも認識してくれる ようになっている でも、00を加えた4桁で表記しても、それが適用されてしまうようです したがって日時定数では表現できるのは、 西暦100年から後、ということになります
  24. 24. @ @ 気になったことその2:コメント追加?気になったことその2:コメント追加? 日時定数は日時が入っているところだけ解釈して、 あとは無視してくれるらしく、こんなことしても エラーになりませんでした 😅 (ただし、文字列に「:」を含めると  時間と解釈しようとするのか、エラーが出ます)
  25. 25. @ @ 今回もお付き合いいただき ありがとうございました

×