-Notes/Dominoに関すること-Notes/Dominoに関する事をテキトーに書いていきます。いつまで持つかお楽しみということで。当ブログに掲載しているサンプルは、すべて利用者の自己責任とします。明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。してもと言う場合は、筆者にあらかじめご連絡ください。記事そのもののリンクについてはご自由に行っていただいてよいです。xxのようなサンプルを作って欲しいとかxxxの作り方を教えて欲しいというお問い合わせには応じていません。このようなお問い合わせは、株式会社エフまでご一報ください。2014年3月25日火曜日XPagesの@Adjust関数で誤った結果が出力されるおはようございます。今日(執筆時点)は2014年3月25日です。6年前の今日、ブログを始めました。初の記事は、上級だぁですね。7.0の資格試験を受験したという話ですね。9.0の資格試験が始まっているのですね。しよう、受験しなくちゃ・・・さて、ということで本日が本当の丸六年の日となります。そんな日なので記事を更新しないわけにはいかないでしょう。本題に入る前に6年目最後のボタンをクリックしましょう(でも、明日以降にこの記事を見ることもあるんだよね・・・ま、いっか)今日はXPagesで利用できる@関数についてです。@Adjust()関数という関数があります。指定した日付のy年m月z日h時間m分s秒前/後を算出するというものですね。結果は、2014/05/01が返ってきます。実はこの関数、不具合があるようなのです。指定した日付の前月が30日以下の場合(つまり、3月、5月、7月、10月、12月)、1か月後の値が正しく計算されないのです。以下のような簡単なコードを作成して実行してみました。);}実行結果は次の通り。赤文字になっているところを見てください。31日になっていたり、29日になっていたりします。確かに、前月が30日以下の月だけが誤った結果になっていることがわかります。別の方法はいくつかありますが、例えばこんな方法があります。);}こちらの実行結果は次の通り。1~12月の翌月1日を出力した結果(2)今度はすべて正しい結果になっていますね。8.5.2、9.0.1で確認していますが、他のバージョンでも発生する可能性がありますので、XPagesで@Adjust()関数を使う場合は気を付けましょう。)と"[InLocalTime]"キーワードを追加することによっても、正しい結果を得ることができました。17:05追記-----では、今日はこの辺で。