115 lines
3.6 KiB
Plaintext
115 lines
3.6 KiB
Plaintext
ClientTimeUtil = {}
|
||
|
||
DATA_FORMAT = "%y-%m-%d %H:%M:%S"
|
||
|
||
--startTime,endTime為"2015-8-10-12-30-0"格式,返回bool
|
||
function ClientTimeUtil.IsCurTimeInRegion(startStrTime,endStrTime)
|
||
return DateTimeHelper.IsCurTimeInRegion(startStrTime,endStrTime)
|
||
end
|
||
|
||
-- "yyyy-MM-dd-HH-mm-ss"
|
||
function ClientTimeUtil.FormatTimeTick(secend, format)
|
||
format = format or "yyyy-MM-dd";
|
||
return DateTimeHelper.FormatTimeTick(secend, format);
|
||
end
|
||
|
||
--startTime,格式為"2015-8-10"格式,返回bool
|
||
function ClientTimeUtil.TransTimeStrToTimeTick(startStrTime, compTick, deltaDay)
|
||
return DateTimeHelper.IsTimeInRegionByDeltaDay(startStrTime, compTick, deltaDay);
|
||
end
|
||
|
||
|
||
local SysNow = DateTimeHelper.SysNow;
|
||
--startTime,格式為"2015-8-10"格式,返回bool
|
||
function ClientTimeUtil.GetNowHourMinStr()
|
||
local now = SysNow();
|
||
return string.format("%02d:%02d", now.Hour, now.Minute);
|
||
end
|
||
|
||
-- servertime 以秒為單位,分鐘、小時、天、周、月
|
||
function ClientTimeUtil.GetFormatOfflineTimeStr(serverTime)
|
||
if(serverTime == 0)then
|
||
return ZhString.ClientTimeUtil_Online;
|
||
end
|
||
|
||
local offlineSec = ServerTime.CurServerTime()/1000 - serverTime;
|
||
if offlineSec >= 0 then
|
||
return ClientTimeUtil.GetFormatTimeStr(serverTime)
|
||
else
|
||
return ZhString.ClientTimeUtil_Online;
|
||
end
|
||
end
|
||
|
||
function ClientTimeUtil.GetFormatTimeStr(serverTime)
|
||
local offlineSec = ServerTime.CurServerTime()/1000 - serverTime;
|
||
local offlineMin = math.floor(offlineSec / 60);
|
||
if offlineSec >= 0 then
|
||
if offlineMin < 1 then
|
||
return ZhString.ClientTimeUtil_OfflineSecond;
|
||
elseif offlineMin < 60 then
|
||
return string.format(ZhString.ClientTimeUtil_OfflineMinute, offlineMin);
|
||
else
|
||
local offlineHour = math.floor(offlineMin / 60);
|
||
if offlineHour < 24 then
|
||
return string.format(ZhString.ClientTimeUtil_OfflineHour, offlineHour);
|
||
else
|
||
local offlineDay = math.floor(offlineHour / 24);
|
||
if offlineDay < 7 then
|
||
return string.format(ZhString.ClientTimeUtil_OfflineDay, offlineDay);
|
||
else
|
||
local offlineWeek = math.floor(offlineDay / 7);
|
||
if offlineWeek < 4 or offlineDay < 30 then
|
||
return string.format(ZhString.ClientTimeUtil_OfflineWeek, offlineWeek);
|
||
else
|
||
local offlineMonth = math.floor(offlineWeek / 4);
|
||
return string.format(ZhString.ClientTimeUtil_OfflineMonth, offlineMonth);
|
||
end
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
return ZhString.ClientTimeUtil_OfflineSecond
|
||
end
|
||
|
||
-- servertime 以秒為單位,今天,天
|
||
function ClientTimeUtil.GetFormatDayTimeStr(serverTime)
|
||
local offlineSec = ServerTime.CurServerTime()/1000 - serverTime
|
||
local offlineDay = math.floor(offlineSec / 86400)
|
||
if offlineDay < 1 then
|
||
return ZhString.ClientTimeUtil_OfflineToday
|
||
else
|
||
return string.format(ZhString.ClientTimeUtil_OfflineDay, offlineDay)
|
||
end
|
||
end
|
||
|
||
-- refreshtime 以秒為單位
|
||
function ClientTimeUtil.GetFormatRefreshTimeStr(refreshtime)
|
||
if(refreshtime == 0)then
|
||
return ZhString.ClientTimeUtil_Online;
|
||
end
|
||
return ClientTimeUtil.FormatTimeBySec(refreshtime - ServerTime.CurServerTime()/1000);
|
||
end
|
||
|
||
-- totalSec 以秒為單位, 分,秒
|
||
function ClientTimeUtil.GetFormatSecTimeStr( totalSec )
|
||
local minSec = 60
|
||
|
||
local min = math.floor( totalSec / minSec)
|
||
local sec = math.floor( totalSec - min * minSec )
|
||
|
||
return min,sec
|
||
end
|
||
|
||
function ClientTimeUtil.FormatTimeBySec( totalSec )
|
||
local daySec = 60 * 60 * 24
|
||
local hourSec = 60 * 60
|
||
local minSec = 60
|
||
|
||
local day = math.floor(totalSec / daySec)
|
||
local hour = math.floor( (totalSec - daySec * day) / hourSec)
|
||
local min = math.floor( (totalSec - daySec * day - hour * hourSec) / minSec)
|
||
local sec = math.floor( totalSec - daySec * day - hour * hourSec - min * minSec );
|
||
|
||
return day,hour,min,sec
|
||
end |