|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
ZO_ONE_MINUTE_IN_SECONDS = 60ZO_ONE_HOUR_IN_MINUTES = 60ZO_ONE_DAY_IN_HOURS = 24ZO_ONE_MONTH_IN_DAYS = 30ZO_ONE_HOUR_IN_SECONDS = ZO_ONE_HOUR_IN_MINUTES * ZO_ONE_MINUTE_IN_SECONDS -- = 3600ZO_ONE_DAY_IN_SECONDS = ZO_ONE_DAY_IN_HOURS * ZO_ONE_HOUR_IN_SECONDS -- = 86400ZO_ONE_MONTH_IN_SECONDS = ZO_ONE_MONTH_IN_DAYS * ZO_ONE_DAY_IN_SECONDS -- = 2592000ZO_ONE_DAY_IN_MINUTES = ZO_ONE_DAY_IN_HOURS * ZO_ONE_HOUR_IN_MINUTES -- = 1440ZO_ONE_SECOND_IN_MILLISECONDS = 1000ZO_ONE_MINUTE_IN_MILLISECONDS = ZO_ONE_MINUTE_IN_SECONDS * ZO_ONE_SECOND_IN_MILLISECONDS -- = 60000ZO_ONE_HOUR_IN_MILLISECONDS = ZO_ONE_HOUR_IN_MINUTES * ZO_ONE_MINUTE_IN_MILLISECONDS -- = 3600000ZO_ONE_DAY_IN_MILLISECONDS = ZO_ONE_DAY_IN_HOURS * ZO_ONE_HOUR_IN_MILLISECONDS -- = 86400000end return FormatTimeMilliseconds(milliseconds, formatType, precisionType, direction or TIME_FORMAT_DIRECTION_NONE)end if(seconds > 3 * ZO_ONE_MINUTE_IN_SECONDS) then return ZO_FormatTime(seconds, TIME_FORMAT_STYLE_SHOW_LARGEST_UNIT, TIME_FORMAT_PRECISION_SECONDS, TIME_FORMAT_DIRECTION_DESCENDING) else return ZO_FormatTime(seconds, TIME_FORMAT_STYLE_COLONS, TIME_FORMAT_PRECISION_SECONDS, TIME_FORMAT_DIRECTION_DESCENDING) endend if(seconds > ZO_ONE_DAY_IN_SECONDS) then elseif(seconds > ZO_ONE_HOUR_IN_SECONDS) then end return ZO_FormatTime(seconds, format, TIME_FORMAT_PRECISION_SECONDS, TIME_FORMAT_DIRECTION_DESCENDING)end if(seconds < ZO_ONE_MINUTE_IN_SECONDS) then else local timeText, nextUpdateTimeInSec = ZO_FormatTime(seconds, TIME_FORMAT_STYLE_SHOW_LARGEST_UNIT_DESCRIPTIVE, TIME_FORMAT_PRECISION_SECONDS, TIME_FORMAT_DIRECTION_ASCENDING) endend return ZO_FormatTimeMilliseconds(timestamp, TIME_FORMAT_STYLE_RELATIVE_TIMESTAMP, precisionType or TIME_FORMAT_PRECISION_TENTHS)endfunction ZO_FormatTimeAsDecimalWhenBelowThreshold(seconds, secondsThreshold, overThresholdTimeFormatOverride) secondsThreshold = secondsThreshold or 10 if seconds < secondsThreshold then return ZO_FormatTime(seconds, TIME_FORMAT_STYLE_DESCRIPTIVE_MINIMAL_SHOW_TENTHS_SECS, TIME_FORMAT_PRECISION_TENTHS, TIME_FORMAT_DIRECTION_DESCENDING) elseif overThresholdTimeFormatOverride then return ZO_FormatTime(seconds, overThresholdTimeFormatOverride, TIME_FORMAT_PRECISION_SECONDS, TIME_FORMAT_DIRECTION_DESCENDING) else endendfunction ZO_FormatTimeShowUnitOverThresholdShowDecimalUnderThreshold(seconds, showUnitOverThresholdS, showDecimalUnderThresholdS, overThresholdTimeFormatOverride) assert(showDecimalUnderThresholdS < showUnitOverThresholdS, "Decimal threshold must be less than no unit threshold") showUnitOverThresholdS = showUnitOverThresholdS or ZO_ONE_MINUTE_IN_SECONDS showDecimalUnderThresholdS = showDecimalUnderThresholdS or 10 if seconds < showDecimalUnderThresholdS then elseif seconds < showUnitOverThresholdS then elseif overThresholdTimeFormatOverride then return ZO_FormatTime(seconds, overThresholdTimeFormatOverride, TIME_FORMAT_PRECISION_SECONDS, TIME_FORMAT_DIRECTION_DESCENDING) else endendlocal CLOCK_FORMAT = (GetCVar("Language.2") == "en") and TIME_FORMAT_PRECISION_TWELVE_HOUR or TIME_FORMAT_PRECISION_TWENTY_FOUR_HOUR local text, secondsUntilNextUpdate = ZO_FormatTime(localTimeSinceMidnight, TIME_FORMAT_STYLE_CLOCK_TIME, CLOCK_FORMAT)end -- Doesn't currently take effect until the next clock update. if CLOCK_FORMAT ~= clockFormat then CLOCK_FORMAT = clockFormat endend return CLOCK_FORMATendendendendenddo ZO_TIME_ESTIMATE_STYLE = { ANGLE_BRACKETS = 1, ARITHMETIC = 2, } --Only the angle bracket style has been designed return formatType == TIME_FORMAT_STYLE_SHOW_LARGEST_UNIT and textMinuteEstimateShort or textMinuteEstimate end if estimateStyle == ZO_TIME_ESTIMATE_STYLE.ANGLE_BRACKETS then return formatType == TIME_FORMAT_STYLE_SHOW_LARGEST_UNIT and textHourEstimateShort or textHourEstimate elseif estimateStyle == ZO_TIME_ESTIMATE_STYLE.ARITHMETIC then return formatType == TIME_FORMAT_STYLE_SHOW_LARGEST_UNIT and textHourEstimatePlusShort or textHourEstimatePlus end end function ZO_GetSimplifiedTimeEstimateText(estimatedTimeMs, formatType, precisionType, estimateStyle) formatType = formatType or TIME_FORMAT_STYLE_COLONS precisionType = precisionType or TIME_FORMAT_PRECISION_TWELVE_HOUR estimateStyle = estimateStyle or ZO_TIME_ESTIMATE_STYLE.ANGLE_BRACKETS if estimatedTimeMs == 0 then return textUnknown elseif estimatedTimeMs < ZO_ONE_MINUTE_IN_MILLISECONDS then elseif estimatedTimeMs > ZO_ONE_HOUR_IN_MILLISECONDS then else end endenddo local hoursSinceMidnightPerHour = {} hoursSinceMidnightPerHour = {} for i = 0, 23 do table.insert(hoursSinceMidnightPerHour, { value = i, name = ZO_FormatTime(i * ZO_ONE_HOUR_IN_MINUTES * ZO_ONE_MINUTE_IN_SECONDS, TIME_FORMAT_STYLE_CLOCK_TIME, CLOCK_FORMAT) }) end end return hoursSinceMidnightPerHour end local selectedEntry entry.index = i selectedEntry = entry end end local IGNORE_CALLBACK = true if selectedEntry then end endend-- Meant to format an expiration time that could have a long duration (longer than a month)-- Any time longer than a month will only show the number of days rounded to the nearest day-- Any time less than a minute will show as "<1m"-- All other times will use ZO_FormatTimeLargestTwo and display like "10d 5h" if seconds >= ZO_ONE_MONTH_IN_SECONDS then end if seconds < ZO_ONE_MINUTE_IN_SECONDS then endend if seconds >= ZO_ONE_MONTH_IN_SECONDS then end if seconds < ZO_ONE_MINUTE_IN_SECONDS then endendend |