changeset 35:f5cff2e25520 draft

Consider holiday in lieu.
author HIROSE Yuuji <yuuji@gentei.org>
date Tue, 03 Apr 2012 20:36:49 +0900
parents 468c6e736117
children e67737e49a5d
files after5.rb
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/after5.rb	Tue Apr 03 20:36:30 2012 +0900
+++ b/after5.rb	Tue Apr 03 20:36:49 2012 +0900
@@ -5,7 +5,7 @@
 # (C)2003, 2004, 2006, 2008, 2012 by HIROSE Yuuji [yuuji<at>gentei.org]
 # $Id: after5.rb,v 1.19 2012/04/01 11:52:25 yuuji Exp yuuji $
 # $HGid$
-# Last modified Tue Apr  3 18:26:05 2012 on firestorm
+# Last modified Tue Apr  3 20:32:44 2012 on firestorm
 # See http://www.gentei.org/~yuuji/software/after5/
 # このスクリプトはEUCで保存してください。
 
@@ -991,13 +991,19 @@
   def isHoliday(y, m, d, wday=nil)
     y, m, d = y.to_i, m.to_i, d.to_i
     wname = %w[sun mon tue wed thu fri sat]
+    wday = wname[wday || Time.mktime(y, m, d).wday]
     holiday = @@holiday[sprintf("%d/%d/%d", y, m, d)] ||
       @@holiday[sprintf("%d/%d", m, d)]
     unless holiday
-      wday = wname[wday || Time.mktime(y, m, d).wday]
       nthweek = (d-1)/7+1
       holiday = @@holiday[sprintf("%d/w%d%s", m, nthweek, wday)]
     end
+    if !holiday && wday == "mon" && d > 0 # d<1 when column is before 1th
+      # holiday in lieu
+      yesterday = Time.mktime(y, m, d)-3600*24
+      holiday = ["振替休日"] if
+        isHoliday(yesterday.year, yesterday.mon, yesterday.day)
+    end
     holiday
   end
   def holidays()

yatex.org