"use strict"; cc._RF.push(module, '3d6deCXZRlBIYTw21ghxclG', 'timetool'); // Scripts/util/timetool.js "use strict"; // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 时间工具 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var TimeTool = { // 获取时间转换的 //生成时间格式为00:00:00的(时:分:秒) getTimeFormat: function getTimeFormat(less_time) { less_time = Number(less_time) || 0; var hour = Math.floor(less_time / 3600); var min = Math.floor(less_time % 3600 / 60); var sec = less_time % 3600 % 60; hour = hour < 10 && "0" + hour || hour; min = min < 10 && "0" + min || min; sec = sec < 10 && "0" + sec || sec; return hour + ":" + min + ":" + sec; }, //生成时间格式为00:00的(分:秒) getMinSecTime: function getMinSecTime(less_time) { less_time = Number(less_time) || 0; var hour = Math.floor(less_time / 3600); var min = Math.floor(less_time % 3600 / 60); var sec = Math.floor(less_time % 3600 % 60); min = hour * 60 + min; min = min < 10 && "0" + min || min; sec = sec < 10 && "0" + sec || sec; return min + ":" + sec; }, //生成时间格式为00:00:00的(时:分:秒) getTimeFormatII: function getTimeFormatII(less_time) { less_time = Number(less_time) || 0; var hour = Math.floor(less_time / 3600); var min = Math.floor(less_time % 3600 / 60); var sec = Math.floor(less_time % 3600 % 60); if (sec <= 0) { if (min <= 0) { return hour + "小时"; } else { return hour + cc.js.formatStr("小时%s分", min); } } return hour + cc.js.formatStr("小时%s分%s秒", min, sec); }, //生成时间格式为00:00:00的(时:分) GetTimeFormatTwo: function GetTimeFormatTwo(less_time, is_num) { less_time = Number(less_time) || 0; var hour = Math.floor(less_time / 3600); var min = Math.floor(less_time % 3600 / 60); var sec = Math.floor(less_time % 3600 % 60); var str_hour = hour < 10 && "0" + hour || hour; var str_min = min < 10 && "0" + min || min; var str_sec = sec < 10 && "0" + sec || sec; if (hour <= 0) { if (is_num != null) { return str_min + ":" + str_sec; } return str_min + "分" + str_sec + "秒"; } else { if (is_num != null) { return str_hour + ":" + str_min; } return str_hour + "小时" + str_min + "分"; } }, //生成时间格式为00:00的(时:分) getTimeFormatIII: function getTimeFormatIII(less_time) { less_time = Number(less_time) || 0; var hour = Math.floor(less_time / 3600); var min = Math.floor(less_time % 3600 / 60); hour = hour < 10 && "0" + hour || hour; min = min < 10 && "0" + min || min; return hour + ":" + min; }, getTimeMs: function getTimeMs(less_time, isNum) { less_time = Number(less_time) || 0; var hour = Math.floor(less_time / 3600); var min = Math.floor(less_time % 3600 / 60); var sec = Math.floor(less_time % 3600 % 60); if (isNum != null) { sec = sec < 10 && "0" + sec || sec; var max_m = hour * 60 + min; max_m = max_m < 10 && "0" + max_m || max_m; return max_m + ":" + sec; } else { return cc.js.formatStr("%s分%s秒", hour * 60 + min, sec); } }, //传入时间戳,生成时间格式为(年-月-日 时:分:秒) getYMDHMS: function getYMDHMS(less_time) { return this.dateFtt("yyyy-MM-dd hh:mm:ss", less_time); }, //传入时间戳,生成时间格式为(月-日 时:分:秒) getMDHMS: function getMDHMS(less_time) { return this.dateFtt("MM-dd hh:mm:ss", less_time); }, //传入时间戳,生成时间格式为(月-日 ) getMD: function getMD(less_time) { return this.dateFtt("MM.dd", less_time); }, //传入时间戳,生成时间格式为(月-日 时:分) getMDHM: function getMDHM(less_time) { return this.dateFtt("MM-dd hh:mm", less_time); }, //传入时间戳,生成时间格式为(时:分:秒) getHMS: function getHMS(less_time) { return this.dateFtt("hh:mm:ss", less_time); }, //传入时间戳,生成时间格式为(年 时:分:秒) getYDHM: function getYDHM(less_time) { return this.dateFtt("yyyy hh:mm:ss", less_time); }, //传入时间戳,生成时间格式为(时:分) getHM: function getHM(less_time) { return this.dateFtt("hh:mm", less_time); }, //传入时间戳,生成时间格式为(分:秒) getMS: function getMS(less_time) { return this.dateFtt("mm:ss", less_time); }, //传入时间戳,生成时间格式为(年-月-日) getYMD: function getYMD(less_time) { return this.dateFtt("yyyy-MM-dd", less_time); }, //功能:传入时间戳,生成时间格式为(xxxx年xx月xx日) getYMD2: function getYMD2(less_time) { return this.dateFtt("yyyy" + Utils.TI18N("年") + "MM" + Utils.TI18N("月") + "dd" + Utils.TI18N("日"), less_time); }, getMD2: function getMD2(less_time) { var m = this.dateFtt("MM", less_time); var d = this.dateFtt("dd", less_time); return m + "月" + d + "日"; }, //获取距离第二天凌晨0点所剩下的时间 getOneDayLessTime: function getOneDayLessTime() {}, //格式输出 //(格式,时间戳) dateFtt: function dateFtt(fmt, less_time) { if (less_time == null) { return 0; } //需要13位时间戳(也即是毫秒) var date = new Date(less_time * 1000); var o = { "M+": date.getMonth() + 1, //月份 "d+": date.getDate(), //日 "h+": date.getHours(), //小时 "m+": date.getMinutes(), //分 "s+": date.getSeconds(), //秒 "q+": Math.floor((date.getMonth() + 3) / 3), //季度 "S": date.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) { if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } return fmt; }, //1天秒数 day2s: function day2s() { return 86400; }, getDayDifference: function getDayDifference(time_tmps) {}, //xx天xx小时xx分xx秒 getTimeFormatDay: function getTimeFormatDay(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); var lessT = Math.floor(less_time % TimeTool.day2s()); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); var dayStr = ""; if (day >= 1) { dayStr = day + "天"; } if (day >= 1) { if (hour > 0) return dayStr + hour + "小时";else return dayStr; } else { if (sec <= 0) { if (min <= 0) { if (hour <= 0) return ""; return dayStr + hour + "小时"; } else return dayStr + hour + cc.js.formatStr("小时%s分", min); } return dayStr + hour + cc.js.formatStr("小时%s分", min); } }, //大于1天显示xx天 小于一天显示xx小时xx分xx秒 getTimeDayOrTime: function getTimeDayOrTime(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); var dayStr = ""; if (day >= 1) { dayStr = day + "天"; return dayStr; } if (day < 1) return os.date("%X ", less_time); }, //显示两单位计时 getTimeFormatDayII: function getTimeFormatDayII(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / 86400); var lessT = Math.floor(less_time % 86400); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); var dayStr = ""; var hourStr = ""; var minStr = ""; var secStr = ""; if (sec >= 1) secStr = sec + "秒"; if (min >= 1) minStr = min + "分"; if (hour >= 1) hourStr = hour + "小时"; if (day >= 1) return day + "天" + hourStr;else if (hour >= 1) return hourStr + minStr;else return minStr + secStr; // return hourStr+minStr+secStr }, //显示两单位计时 getTimeFormatDayIII: function getTimeFormatDayIII(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / 86400); var lessT = Math.floor(less_time % 86400); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); var dayStr = ""; var hourStr = ""; var minStr = ""; var secStr = ""; if (day >= 1) { if (hour >= 1) { hourStr = hour + "小时"; dayStr = day + "天"; return dayStr + hourStr; } } else { hourStr = hour + "小时"; minStr = min + "分"; secStr = sec + "秒"; return hourStr + minStr + secStr; } }, //当大于1天时,显示x天,小于一天时,显示x时x分 getTimeFormatDayIV: function getTimeFormatDayIV(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / 86400); var time_str = ""; if (day >= 1) time_str = day + "天";else { var lessT = Math.floor(less_time % 86400); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); if (hour < 10) hour = "0" + hour; if (min < 10) min = "0" + min; if (sec < 10) sec = "0" + sec; time_str = hour + ":" + min + ":" + sec; return time_str; } }, //获得天,小时,分,秒 getTimeName: function getTimeName(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); var lessT = Math.floor(less_time % TimeTool.day2s()); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); return day, hour, min, sec; }, //大于1天显示x天x小时,少于一天显示x小时xfen getTimeFormatDayIIIIII: function getTimeFormatDayIIIIII(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); var lessT = Math.floor(less_time % TimeTool.day2s()); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); var dayStr = ""; if (day >= 1) dayStr = day + "天"; if (day >= 1) return dayStr + hour + "小时";else { if (sec <= 0) { if (min <= 0) { if (hour <= 0) return ""; return dayStr + hour + "小时"; } else return dayStr + hour + cc.js.formatStr("小时%s分", min); } return dayStr + hour + cc.js.formatStr("小时%s分", min); } }, getTimeFormatDayIIIIIIII: function getTimeFormatDayIIIIIIII(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / 86400); var lessT = Math.floor(less_time % 86400); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); var time_str = ""; if (hour < 10) { hour = "0" + hour; } if (min < 10) { min = "0" + min; } if (sec < 10) { sec = "0" + sec; } if (day >= 1) { time_str = day + "天" + hour + ":" + min + ":" + sec; //cc.js.formatStr("%d天%d:%d:%d",day,hour,min,sec) } else { time_str = hour + ":" + min + ":" + sec; //cc.js.formatStr("%d:%d:%d", hour, min,sec) } return time_str; }, //图标需要的时间显示 getTimeForFunction: function getTimeForFunction(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); var lessT = Math.floor(less_time % TimeTool.day2s()); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); if (day >= 1) { return day + "天" + hour + "小时"; } else { var str_hour = hour < 10 && "0" + hour || hour; var str_min = min < 10 && "0" + min || min; var str_sec = sec < 10 && "0" + sec || sec; if (hour >= 1) { return str_hour + ":" + str_min + ":" + str_sec; } else { return str_min + ":" + str_sec; } } }, //邮件用 不满1天显示小时 以此类推 getDayOrHour: function getDayOrHour(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); var lessT = Math.floor(less_time % TimeTool.day2s()); var hour = Math.floor(lessT / 3600); var min = Math.floor(lessT % 3600 / 60); var sec = Math.floor(lessT % 3600 % 60); if (day >= 1) { return day + "天"; } else if (hour >= 1) { return hour + "小时"; } else if (min >= 1) { return min + "分钟"; } else if (sec >= 1) { return sec + "秒"; } }, // 好友列表显示时间 // 1 小于24小时以内,显示“xx小时前”,小时向上取整 // 2 大于24小时以上,显示“xx天前”,天数向上取整 // 3 大于72小时以上,统一显示“3天以上” getTimeFormatFriendShowTime: function getTimeFormatFriendShowTime(less_time) { less_time = Number(less_time) || 0; var day = Math.floor(less_time / TimeTool.day2s()); if (day >= 3) { return Utils.TI18N("3天以上"); } if (day > 0) { return day + Utils.TI18N("天前"); } var lessT = Math.floor(less_time % TimeTool.day2s()); var hour = Math.ceil(lessT / 3600); if (hour <= 0) { hour = 1; } return hour + Utils.TI18N("小时前"); } }; module.exports = TimeTool; cc._RF.pop();