[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:01631] Re: カレンダのフォーマット



乃村です.mhc-calendar.el いじろうと思って,update したら,
どどっと更新されててびっくり.

CW は,使ってる文化圏と話をするときは,ないと不便そうですね.

On Thu, 19 Sep 2002 12:39:07 +0900 (JST),
	Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxx> said:

> ruby> (1)ISO 8601 規格では,週の最初の曜日が月曜とされています。

日曜はじまりだと,どう解釈するのがいいんでしょう.
使ってる人の慣例が知りたいですが,一応,

   (format-time-string 
    "%V,%U,%W" 
    (mhc-date-to-second (mhc-date-new 1967 12 31)))

  %U is the week number starting on Sunday, %W starting on Monday,
  %V according to ISO 8601.

これをそのまま使って,

;;; XXX: It has the Y2038 problem.
(defsubst mhc-date-cw (date)
  (cond 
   ((= mhc-calendar-start-day-of-week 1)
    (string-to-number (format-time-string "%W" (mhc-date-to-second date))))
   (t
    (string-to-number (format-time-string "%V" (mhc-date-to-second date))))))

(defun mhc-calendar-make-header (date)
  (let ((ret (mhc-date-format date "%s %04d"
			      (mhc-date-digit-to-mm-string mm t) yy)))
    (if (mhc-date-yymm= (mhc-date-now) date)
	(mhc-face-put
	 ret (mhc-face-get-today-face 'mhc-calendar-face-saturday))
      (mhc-face-put ret 'mhc-calendar-face-saturday))
    (concat ret
	    (format " W%d-%d"
		    (mhc-date-cw (mhc-date-mm-first date))
		    (mhc-date-cw (mhc-date-mm-last  date))))))

のような感じでいいのかしら.カレンダーの月の表示の部分が,

  September 2002 W34-39

のようになります.

# mhc-calendar-start-day-of-week は,mhc wide な名前の変数にした
# 方がいいかも.他が見るかどうかは別として.
--
nom