System.register(["cc"], function (_export, _context) { "use strict"; var _cclegacy, DataTimeUtil, _crd; _export("default", void 0); return { setters: [function (_cc) { _cclegacy = _cc.cclegacy; }], execute: function () { _crd = true; _cclegacy._RF.push({}, "6aa3eXS6PhBSro7Xyyel0Vs", "DataTimeUtil", undefined); _export("default", DataTimeUtil = class DataTimeUtil { /** * 当前时间戳(毫秒) * @returns */ static currentTimeMillis() { return new Date().getTime() + this.offset; } /** * 当前时间戳(秒) * @returns */ static currentTimeSeconds() { return Math.floor((new Date().getTime() + this.offset) / 1000); } /**当前服务器日期*/ static currentDate() { return new Date(this.currentTimeMillis()); } /**将毫秒时间戳转到当天0点时的毫秒时间戳*/ static timestampToStartOfDay(timestamp) { var date = new Date(timestamp); // 将时间戳转换为日期对象 date.setHours(0, 0, 0, 0); // 将时、分、秒、毫秒部分设置为0 return date.getTime(); // 将日期转换回时间戳 } /**将秒时间戳转到当天0点时的秒时间戳*/ static timestampSecondsToStartOfDay(timestamp) { var date = new Date(timestamp * 1000); // 将时间戳转换为日期对象 date.setHours(0, 0, 0, 0); // 将时、分、秒、毫秒部分设置为0 return Math.floor(date.getTime() / 1000); // 将日期转换回时间戳 } /**获取服务器到明天0点时长 */ static longToTomorrow() { // 获取当前时间 var now = this.currentDate(); // 获取明天的日期 var tomorrow = new Date(now); tomorrow.setDate(now.getDate() + 1); tomorrow.setHours(0, 0, 0, 0); // 计算时间差 return tomorrow.getTime() - now.getTime(); } /**当前服务器月份*/ static currentMonth() { return this.currentDate().getMonth() + 1; // 月份从0开始,所以需要加1 } /**当前服务器日期月有多少天 */ static daysInCurrentMonth() { var currentYear = this.currentDate().getFullYear(); var daysInCurrentMonth = new Date(currentYear, this.currentMonth(), 0).getDate(); return daysInCurrentMonth; } static timeMillisToDate(ms) { return new Date(ms); } static stringToStamp(dateString) { var timestamp = Date.parse(dateString) - new Date().getTimezoneOffset() * 60 * 1000; return timestamp; } static stringToDate(dateString) { return new Date(dateString); } static dateToString(date) { var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hours = date.getHours(); var minutes = date.getMinutes(); var seconds = date.getSeconds(); // 自定义格式化日期和时间 var formattedDateTime = year + "-" + month.toString().padStart(2, '0') + "-" + day.toString().padStart(2, '0') + " " + hours.toString().padStart(2, '0') + ":" + minutes.toString().padStart(2, '0') + ":" + seconds.toString().padStart(2, '0'); return formattedDateTime; } /**本周一0点的时间戳*/ static mondayTimestamp() { var currentDate = this.currentDate(); // 获取当前日期的星期几(星期天为0,星期一为1,以此类推) var currentDayOfWeek = currentDate.getDay(); // 计算当前日期距离周一的天数差值 var daysUntilMonday = currentDayOfWeek === 0 ? 6 : currentDayOfWeek - 1; return currentDate.getTime() - daysUntilMonday * 24 * 60 * 60 * 1000; } /*private _day_s = 864e5; private _diff:number=0; private updateServerTime(s:number):void{ this._diff = s - (new Date).getTime()} public now():number{return this.getTime()} public getTime():number { return (new Date).getTime() + this._diff;} public getDayStartTime(s:number):number {return new Date(s).setHours(0, 0, 0, 0)} public getDayEndTime(e:number):number { return new Date(e).setHours(23, 59, 59, 999)} public getWeekEndTime (e:number):number { var t = new Date(e).getDay(); return this.getDayEndTime(e) + (0 === t ? 0 : (7 - t) * this._day_s) } public getMonthEndTime(e:number):number { var t = new Date(e); return 11 === t.getMonth() ? t.setFullYear(t.getFullYear() + 1, 0, 0) : t.setMonth(t.getMonth() + 1, 0), t.setHours(23, 59, 59, 999) } public getDiffDayNum (e:number, t:number) { var r = this.getDayStartTime(e),o = this.getDayStartTime(t); return Math.ceil(Math.abs(r - o) / this._day_s) }*/ /**获取时间戳*/ static getTickCount() { if (window && window.performance) { return window.performance.now(); } return new Date().getTime(); } //----------------------------------------------------------------------------------------------------------------------------- /** * 根据秒数格式化字符串 * @param second 秒数 * @param type 1:00:00:00 2:yyyy-mm-dd h:m:s 3:00:00(分:秒) 4:xx天前,xx小时前,xx分钟前 6:00:00(时:分) * @return * */ static getFormatBySecond(second, type) { if (type === void 0) { type = 1; } var str = ""; switch (type) { case 1: str = this.getFormatBySecond1(second); break; case 2: str = this.getFormatBySecond2(second); break; case 3: str = this.getFormatBySecond3(second); break; case 4: str = this.getFormatBySecond4(second); break; case 5: str = this.getFormatBySecond5(second); break; case 6: str = this.getFormatBySecond6(second); break; } return str; } //1: 00:00:00 static getFormatBySecond1(t) { if (t === void 0) { t = 0; } var hourst = Math.floor(t / 3600); var hours; if (hourst == 0) { hours = "00"; } else { if (hourst < 10) hours = "0" + hourst;else hours = "" + hourst; } var minst = Math.floor((t - hourst * 3600) / 60); var secondt = Math.floor((t - hourst * 3600) % 60); var mins; var sens; if (minst == 0) { mins = "00"; } else if (minst < 10) { mins = "0" + minst; } else { mins = "" + minst; } if (secondt == 0) { sens = "00"; } else if (secondt < 10) { sens = "0" + secondt; } else { sens = "" + secondt; } return hours + ":" + mins + ":" + sens; } //3:00:00(分:秒) static getFormatBySecond3(t) { if (t === void 0) { t = 0; } var hourst = Math.floor(t / 3600); var minst = Math.floor((t - hourst * 3600) / 60); var secondt = Math.floor((t - hourst * 3600) % 60); var mins; var sens; if (minst == 0) { mins = "00"; } else if (minst < 10) { mins = "0" + minst; } else { mins = "" + minst; } if (secondt == 0) { sens = "00"; } else if (secondt < 10) { sens = "0" + secondt; } else { sens = "" + secondt; } return mins + ":" + sens; } //2:yyyy-mm-dd h:m:s static getFormatBySecond2(time) { var date = new Date(time * 1000); var year = date.getFullYear(); var month = date.getMonth() + 1; //返回的月份从0-11; var day = date.getDate(); var hours = date.getHours(); var minute = date.getMinutes(); var second = date.getSeconds(); return year + "-" + month + "-" + day + " " + hours + ":" + minute + ":" + second; } //4:xx天前,xx小时前,xx分钟前 static getFormatBySecond4(time) { var t = Math.floor(time / 3600); if (t > 0) { if (t > 24) { return Math.floor(t / 24) + "天前"; } else { return t + "小时前"; } } else { return Math.floor(time / 60) + "分钟前"; } } static getFormatBySecond5(time) { //每个时间单位所对应的秒数 var oneDay = 3600 * 24; var oneHourst = 3600; var oneMinst = 60; var days = Math.floor(time / oneDay); var hourst = Math.floor(time % oneDay / oneHourst); var minst = Math.floor((time - hourst * oneHourst) / oneMinst); //Math.floor(time % oneDay % oneHourst / oneMinst); var secondt = Math.floor((time - hourst * oneHourst) % oneMinst); //time; var dayss = ""; var hourss = ""; var minss = ""; var secss = ""; if (time > 0) { //天 if (days == 0) { dayss = ""; //小时 if (hourst == 0) { hourss = ""; //分 if (minst == 0) { minss = ""; if (secondt == 0) { secss = ""; } else if (secondt < 10) { secss = "0" + secondt + "秒"; } else { secss = "" + secondt + "秒"; } return secss; } else { minss = "" + minst + "分"; if (secondt == 0) { secss = ""; } else if (secondt < 10) { secss = "0" + secondt + "秒"; } else { secss = "" + secondt + "秒"; } } return minss + secss; } else { hourss = hourst + "小时"; if (minst == 0) { minss = ""; if (secondt == 0) { secss = ""; } else if (secondt < 10) { secss = "0" + secondt + "秒"; } else { secss = "" + secondt + "秒"; } return secss; } else if (minst < 10) { minss = "0" + minst + "分"; } else { minss = "" + minst + "分"; } return hourss + minss; } } else { dayss = days + "天"; if (hourst == 0) { hourss = ""; } else { if (hourst < 10) hourss = "0" + hourst + "小时";else hourss = "" + hourst + "小时"; ; } return dayss + hourss; } } return ""; } //6:00:00(时:分) static getFormatBySecond6(t) { if (t === void 0) { t = 0; } var hourst = Math.floor(t / 3600); var minst = Math.floor((t - hourst * 3600) / 60); var houers; var mins; if (hourst == 0) { houers = "00"; } else if (hourst < 10) { houers = "0" + hourst; } else { houers = "" + hourst; } if (minst == 0) { mins = "00"; } else if (minst < 10) { mins = "0" + minst; } else { mins = "" + minst; } return houers + ":" + mins; } /** * 获取当前是周几 * ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"] */ static getDay(timestamp) { var date = new Date(timestamp); return date.getDay(); } /** * 判定两个时间是否是同一天 */ static isSameDate(timestamp1, timestamp2) { var date1 = new Date(timestamp1); var date2 = new Date(timestamp2); return date1.getFullYear() == date2.getFullYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate(); } /** * 日期格式化 */ static format(d, fmt) { if (fmt === void 0) { fmt = "yyyy-MM-dd hh:mm:ss"; } var o = { "M+": d.getMonth() + 1, //month "d+": d.getDate(), //day "h+": d.getHours(), //hour "m+": d.getMinutes(), //minute "s+": d.getSeconds(), //second "q+": Math.floor((d.getMonth() + 3) / 3), //quarter "S": d.getMilliseconds() //millisecond }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (d.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; } /** * 计算两个时间(秒)相差天数(不满一天算0天) */ static getDayCountSeconds(timestamp1, timestamp2) { var d_value = Math.abs(timestamp2 - timestamp1); return Math.floor(d_value / (24 * 60 * 60)); } /** * 计算两个时间相差天数 */ static dateDifference(timestamp1, timestamp2) { var d_value = Math.abs(timestamp2 - timestamp1); return Math.ceil(d_value / (24 * 60 * 60 * 1000)); } }); /**时间偏移*/ DataTimeUtil.offset = 0; _cclegacy._RF.pop(); _crd = false; } }; }); //# sourceMappingURL=9339c1616915be01b9ef9c93d2d394064076c665.js.map