---美国习惯星期转中国习惯星期
function TimeUtil.WdayToWdayCN(wday)
if 1 == wday then
return 7
else
return wday - 1
end
end
---美国习惯的星期加减, 1_周日, 2_周一 ... 7_周六
function TimeUtil.WdayAdd(wday, delta)
local wday_2 = wday + delta
if wday_2 < 1 then
-- wday_2: 0_周六, -1_周五 ... -7_周六, -8_周五
if wday_2 <= -7 then
wday_2 = math.fmod(wday_2, 7) -- 备忘: math.fmod(-7, 7) = 0, math.fmod(-8, 7) = -1
end
wday_2 = wday_2 + 7 -- 1_周日, 2_周一 ... 7_周六
elseif wday_2 > 7 then
-- wday_2: 8_周日, 9_周一 ... 14_周六, 15_周日
wday_2 = math.fmod(wday_2, 7) -- 备忘: math.fmod(14, 7) = 0, math.fmod(15, 7) = 1
if 0 == wday_2 then
wday_2 = 7 -- 7_周六
end
end
return wday_2
end
---中国习惯的星期加减, 1-7表示周一到周日
function TimeUtil.WdayCNAdd(wdayCN, delta)
local wdayCN_2 = wdayCN + delta
if wdayCN_2 < 1 then
-- wday_2: 0_周日, -1_周六 ... -6_周一, -7_周日, -8_周六
if wdayCN_2 <= -7 then
wdayCN_2 = math.fmod(wdayCN_2, 7) -- 备忘: math.fmod(-7, 7) = 0, math.fmod(-8, 7) = -1
end
wdayCN_2 = wdayCN_2 + 7 --
elseif wdayCN_2 > 7 then
-- wday_2: 8_周一, 9_周二 ... 13_周六, 14_周日, 15_周一
wdayCN_2 = math.fmod(wdayCN_2, 7) -- 备忘: math.fmod(14, 7) = 0, math.fmod(15, 7) = 1
if 0 == wdayCN_2 then
wdayCN_2 = 7 -- 7_周日
end
end
return wdayCN_2
end
---往后第1个周一还有几天, 0表示今天是周一
function TimeUtilT.GetFirstMondayLeftDays(wday)
if 2 == wday then
return 0
end
if 1 == wday then
return 1
else
local days = 8 - wday
return days
end
end
---往后第1个周一还有几天, 0表示今天是周一
function TimeUtilT.GetFirstMondayCNLeftDays(wdayCN)
if 1 == wdayCN then
return 0
end
if 7 == wdayCN then
return 1
else
local days = 8 - wdayCN
return days
end
end