202302FunctionTalkInNotesKnowsWorkshop42nd

248 Views

December 07, 24

スライド概要

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

profile-image

Notes/Domino worker - Formula language ♡er, #IBMChampion '15 & #HCLAmbassador '20 - '23, Nature Game (Sharing Nature) leader

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

@ -notes knows community- 2023/02/09 @関数Talk 第42回 公開版 @ Talks around @Functions in Notes and Domino ✔ @TextToTime ✔ @ToTime 阿部 覚 (tw:) @abesat 42nd

2.

@ 前2回では @Text(日時値; "*") という式を用いて 日時を"レプリカID形式"にした値を覗いてみよう というお話を行っています まあ、そのお話はいったんおいて 今回の@関数は @

3.

@ @TextToTime @ToTime @ で放談

4.

@ @TextToTimeは第26回でいちどTalkしていますが これに類似した @ToTimeという関数があります 第26回をTalkしたときはお恥ずかしながら、 @ToTime の存在はまるでアタマにありませんでした @ToTimeがどんな関数かを見るために 「@TextToTime と同じことできるの?」 @ 以前の内容もおさらいしつつ、比べてみます

5.

例によって、 @ フォームの見出しに、フィールドに設定した式と 同じものを表示しています @ ※今回、Notes は 12.0.2 へバージョンを上げ、また英語版でなく日本語版を使用しています

6.

@ 引数に日付を表す文字が入っていたら それを日時値の日付に置き換えたものを返す @ToTime も同様に変換します @

7.

@ たとえ、書式が 月日年 など海外の書式でも ある程度吸収してくれます @ToTime も同様に吸収できました @

8.

@ Notesが日本語版の場合、元号を使ったこんな表記だって 吸収 @ToTime も同様に吸収 @ (OS:ここではWindowsが、日本語版であることも、前提になるかもしれません)

9.

@ 年がない、こんな省略形の場合は 今年だと判断して変換 @ToTime でも同様 @

10.

@ これは…? @

11.

@ 日付だけでなく時間にも対応していて こんな表記でも変換してくれます @ToTimeも、同じく @

12.

@ じゃあ、こちらは…? @

13.

@ 日付と時間の両方が記載された書式ですね どこまで融通が利くかはお約束できませんが こんな省略書式でも変換してくれました @ToTimeも、以下同文 @

14.

@ そして、たとえ日時として意識されうる値でなくとも 文字列の合間にある数字だけで 変換しちゃうこともできます @ …と、ここまで、@ToTimeも、すべて同じように 機能しました

15.

じゃあ、違いは…? @ こんな式を検証しようとしました が、@TextToTime のほうは、そもそも式のエラーで フォームが保存できませんでした @

16.

@ 一方、@ToTimeのほうは 今日の日をきちんと日付で返します @

17.

@ それぞれの関数はリスト(複数値)でも動きますが @TextToTime は文字列のリストだけ @ @ToTime は 文字列のリスト、日時のリスト どちらでも値を返せます ※文字列と日時の混在リストはダメ ※数値を @ToTime で変換するのもダメでした

18.

@ しかし当然ながら、ここで疑問がわいてきます もともと日時の値に対して @ @ToTime 、要らなくね?

19.

@ おそらく、こういう利点があると思っています Domino & Notes はその自由度から 変数の値が日時形式なのか文字形式なのか 特定できない場合があるが @ たとえどちらが入っていても、 エラーなく日時として値を返してくれる

20.

@ もっとも、それが利点だとすればイマイチな部分も @TextToTime は 値がなくてもエラーを返しませんが @ToTime はエラーになり、その式が入った文書を 開くこともできず… @ 変数の場合、必ず日時値に変換できなきゃNGですね

21.

@ さて、改めて私称「レプリカID形式」の話を今回も - @TextToTime や @ToTime で変換した値を さらに「レプリカID形式」に変換すると、どうなる? @

22.

@ すなわち… 時間だけの場合は日付部分が「FFFFFFFF」に 日付だけの場合は時間部分が「FFFFFFFF」になります @ これってIPアドレスでのサブネットのようなものかなと 思います と、実は@TextToTime、@ToTime 関数での変換ではなく、 変換後の値の話をしたところで

23.

@ 今回もお付き合い ありがとうございました 😀 @