[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:01636] Re: カレンダのフォーマット
乃村です.
On Thu, 19 Sep 2002 15:00:46 +0900,
Takashi Hiromatsu <takashi-hiromatsu@xxxxxxxxxxx> said:
> 反応していただいた、御三方に、ISO原文をお送りいたしました。
> 参考にしてください。
ありがとうございます.探す手間が省けました.
一般的には,原文の入手先 (例えば URL) とかを教えていただければ,
必要があれば,取りに行きますので,次回,このような場合は,そうし
ていただけるとよろしいかと思います.その方が,ML にも有用な情報
を残せると思いますので.
さて,本題ですが,ISO では,
1年の最初の木曜日を含む週を第一週とする.
という表現があって,これは分かりやすいですね.
2002年12月31 が第一週と数えられるのも,すぐに合点がいきます.
# 納得はできんけど.
以下の通りで %V 互換のようです.
やや無駄なコードがあるような気もしますが,
それは,emacs 21 の strftime.c からかっぱらったせいです.:-)
(defsubst mhc-date/iso-week-days (yday wday)
(- yday -3 (% (- yday wday -382) 7)))
(defsubst mhc-date-cw (date)
(mhc-date-let date
(let* ((yday (mhc-date/day-number yy mm dd))
(days (mhc-date/iso-week-days yday ww))
(d))
(if (< days 0)
(setq days (mhc-date/iso-week-days
(+ yday 365 (if (mhc-date/leap-year-p (1- yy)) 1 0)) ww))
(setq d (mhc-date/iso-week-days
(- yday 365 (if (mhc-date/leap-year-p yy) 1 0)) ww))
(if (<= 0 d) (setq days d)))
(1+ (/ days 7)))))
日曜はじまりの場合をどうすればいいのかはよく分かりません.
キリスト教文化でで日曜はじまりを使うことはタブーのような
気もしないでもないので,いらぬ心配なのでしょうか.
--
nom