nsfl10n

Lotus Notes/Domino のブログ。nsf:Notes Storage Facility。l10n:Localization。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

LotusScriptで誕生日から年齢を計算する

Is there a LotusScript function to calculate age given a date of birth?
http://searchdomino.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid4_gci900873,00.html

質問:

 誕生日から年齢を計算する関数はありますか? VBスクリプトにあるようなdate intervalや、dateadd、datesubと言った関数がLotusScriptにもありますか?

EXPERTによる返答:

 LotusScriptでは日付を扱う方法が2つある。日付/時刻型のvariantと、NotesDateTimeオブジェクトだ。両方とも”引き算”をサポートしている。日付/時刻型のvariantの場合の演算子は、”-”である。例えば:

daysOld = doc.DateOfBirth(0) - Today ' 年齢が日数で返される

 NotesDateTimeオブジェクトであれば、TimeDifferenceDouble とか TimeDifference 関数を使えばいい。

 しかしながら、日数で年齢を取得しても、自動的に年数で年齢を計算できるわけではない。なぜなら、年によって日数が異なるからだ。以下の関数は今年もう誕生日を過ぎたかどうかをチェックすることで年齢を正確に計算します。この関数は、LDD SandboxからダウンロードしたNotes Design Libraryからの引用だ。

Function age(dob, asofdate) ' the arguments are assumed to be of type date/time Dim dyr%, dmo% dyr = Year(asofdate) - Year(dob) dmo = Month(asofdate) - Month(dob) If dmo < 0 Or (dmo = 0 And Day(asofdate) < Day(dob)) Then ' their birthday has not yet arrived this year. age = dyr - 1 Else age = dyr End If End Function
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

 ちょっとこれ見て思い出しのたので、メモっておきます。リンク先のIris Sandboxにある”Design Library Documentation”はNotes開発者用のコードライブラリで、”Design Library Repository”はフォームやビューのデザイン要素ライブラリ。

 ”Design Library Documentation”の方は、(だいたいどこの開発チームでも作られる・笑)汎用コードを集めたDBです。例えば誕生日計算なら、以下の@関数版も併記されています。

asofdate := @Today; REM "Or whatever date you want to calculate the age as of..."; @If(DOB = ""; @Return(""); ""); thisyear := @Year(asofdate); birthyear := @Year(DOB); thisday := @Month(asofdate)*31 + @Day(asofdate); birthday := @Month(DOB)*31 + @Day(DOB); thisyear - birthyear - @Max( @Sign(birthday-thisday); 0)

 ”Design Library Repository”の方は"DesignLibraryRep.ntf"そのものがフォームやビューの設計要素ライブラリとなっています。以前紹介した”Developer's Buddy”みたいな感じ。


(関連)簡単な年齢計算法 :AIT Consulting
http://domino.aitj.co.jp/Pub/Tips.nsf/($All)/a8235a9ec046a7d7492569bb0077d24c?OpenDocument

スポンサーサイト
  1. 2007/01/14(日) 04:50:18|
  2. Designer|
  3. トラックバック:0|
  4. コメント:0
<<「Hannover」の初めてのデモが披露 | ホーム | Notes 7.x とNotes 6.x の共存>>

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://nsfl10n.blog9.fc2.com/tb.php/211-f08a4000
05 | 2017/03 | 06
Sun Mon Tue Wed Thu Fri Sat
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

Search

Featured Entries

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

Links

Ads

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。