AIWROK软件生成随机时间函数妙用技术方法
<div class="blockcode"><blockquote><br>/**<br> * 生成随机时间函数<br> * @returns {string} 格式为HH:MM:SS的随机时间字符串<br> */<br>function 随机时间() {<br> // 生成随机小时、分钟和秒数<br> var hours = Math.floor(Math.random() * 24);<br> var minutes = Math.floor(Math.random() * 60);<br> var seconds = Math.floor(Math.random() * 60);<br><br> // 格式化时间为两位数<br> hours = hours < 10 ? '0' + hours : hours;<br> minutes = minutes < 10 ? '0' + minutes : minutes;<br> seconds = seconds < 10 ? '0' + seconds : seconds;<br><br> // 返回格式化后的时间字符串<br> return hours + ':' + minutes + ':' + seconds;<br>}<br><br>// 示例调用<br>printl("生成的随机时间: " + 随机时间());<br><br>// 额外示例:生成10个随机时间<br>printl("\n生成10个随机时间:");<br>for (let i = 0; i < 10; i++) {<br> printl(随机时间());<br>}<br><br>/* ========== 随机时间的妙用 ========== */<br>// 1. 模拟日志时间戳<br>printl("\n模拟日志时间戳:");<br>function 模拟日志(内容) {<br> printl("[" + 随机时间() + "] " + 内容);<br>}<br>模拟日志("系统启动完成");<br>模拟日志("用户登录成功");<br>模拟日志("数据处理完毕");<br><br>// 2. 生成随机闹钟时间<br>printl("\n今日随机闹钟建议:");<br>var 闹钟次数 = 3;<br>for (var i = 1; i <= 闹钟次数; i++) {<br> printl("闹钟" + i + ": " + 随机时间());<br>}<br><br>// 3. 测试数据生成器 (ES5兼容版本)<br>printl("\n生成测试数据集(5条):");<br>var 测试数据 = [];<br>for (var i = 0; i < 5; i++) {<br> 测试数据.push({<br> id: Math.floor(Math.random() * 1000),<br> time: 随机时间(),<br> status: ["成功", "失败", "进行中"]<br> });<br>}<br>// 兼容性更好的输出方式<br>测试数据.forEach(function(item) {<br> printl("ID: " + item.id + " | 时间: " + item.time + " | 状态: " + item.status);<br>});<br><br>// 4. 随机延时任务模拟 (ES5兼容版本)<br>printl("\n随机延时任务模拟:");<br>function 格式化时间(date) {<br> var hours = date.getHours();<br> var minutes = date.getMinutes();<br> var seconds = date.getSeconds();<br> hours = hours < 10 ? '0' + hours : hours;<br> minutes = minutes < 10 ? '0' + minutes : minutes;<br> seconds = seconds < 10 ? '0' + seconds : seconds;<br> return hours + ":" + minutes + ":" + seconds;<br>}<br><br>function 随机延时任务(任务名, 回调) {<br> // 生成1-10秒的随机延时(毫秒)<br> var 延时毫秒 = Math.floor(Math.random() * 10000) + 1000;<br> var 开始时间 = new Date();<br> var 开始时间显示 = 格式化时间(开始时间);<br> printl("[" + 开始时间显示 + "] 任务\"" + 任务名 + "\"将在 " + (延时毫秒/1000).toFixed(3) + "秒后执行");<br> <br> setTimeout(function() {<br> var 结束时间 = new Date();<br> var 结束时间显示 = 格式化时间(结束时间);<br> printl("[" + 结束时间显示 + "] 任务\"" + 任务名 + "\"执行完成,实际等待: " + ((结束时间-开始时间)/1000).toFixed(3) + "秒");<br> if (typeof 回调 === 'function') {<br> 回调();<br> }<br> }, 延时毫秒);<br>}<br><br>// 使用回调方式执行延时任务<br>printl("\n开始执行延时任务序列:");<br>随机延时任务("数据备份", function() {<br> printl("-- 数据备份任务完成,开始缓存清理 --");<br> 随机延时任务("缓存清理", function() {<br> printl("\n所有延时任务已完成");<br> printl("=======================");<br> printl("任务执行总结:");<br> printl("1. 数据备份 - 已完成");<br> printl("2. 缓存清理 - 已完成");<br> printl("=======================");<br> });<br>});<br><br>// 5. 游戏开发应用 - 随机事件触发<br>printl("\n游戏随机事件模拟:");<br>function 随机事件() {<br> var 事件时间 = 随机时间();<br> var 事件类型 = ["宝箱出现", "Boss刷新", "任务更新"];<br> printl("[" + 事件时间 + "] " + 事件类型);<br>}<br>随机事件();<br>随机事件();<br></blockquote></div><ol class="ne-ol" style="padding-left: 23px;"><li id="uaa758130" data-lake-index-type="0"><span class="ne-text">核心功能 - 随机时间生成</span><span class="ne-text">:</span></li></ol><pre data-language="plain" id="qoEki" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>function 随机时间() {
// 生成HH:MM:SS格式的随机时间
// 示例输出:"14:25:36"
}</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="uf2785843" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">生成24小时制的随机时间</span></li><li id="u99b3703c" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">自动补零确保两位数格式</span></li><li id="u22d04cb3" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">可作为基础功能被其他模块调用</span></li></ul><ol class="ne-ol" style="padding-left: 23px;"><li id="udcd019ac" data-lake-index-type="0"><span class="ne-text">五大应用场景</span><span class="ne-text">:</span></li></ol><p id="u2e5f8e4d" class="ne-p" style="min-height: 24px;"><span class="ne-text">a)</span><span class="ne-text"> </span><span class="ne-text">日志模拟</span><span class="ne-text">:</span></p><pre data-language="plain" id="xMMMO" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
function 模拟日志(内容) {
printl("[" + 随机时间() + "] " + 内容);
}
// 示例: 系统启动完成</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="uc1c6239d" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">为系统事件添加随机时间戳</span></li><li id="ua7fca2d0" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">可用于测试或模拟系统日志</span></li></ul><p id="u41d91f72" class="ne-p" style="min-height: 24px;"><span class="ne-text">b)</span><span class="ne-text"> </span><span class="ne-text">闹钟生成</span><span class="ne-text">:</span></p><pre data-language="plain" id="pqUrJ" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
// 生成3个随机闹钟时间
// 示例输出:闹钟1: 07:53:20</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u268812b4" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">生成多个随机提醒时间</span></li><li id="udf4cd281" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">可自定义生成数量</span></li></ul><p id="uac373f03" class="ne-p" style="min-height: 24px;"><span class="ne-text">c)</span><span class="ne-text"> </span><span class="ne-text">测试数据生成</span><span class="ne-text">:</span></p><pre data-language="plain" id="DkLKB" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
// 生成包含随机时间的测试数据
// 示例输出:ID: 123 | 时间: 08:45:22 | 状态: 成功</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u862e3bae" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">创建带时间戳的测试数据</span></li><li id="ud4a779b4" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持多种状态模拟</span></li></ul><p id="uf62f26f0" class="ne-p" style="min-height: 24px;"><span class="ne-text">d)</span><span class="ne-text"> </span><span class="ne-text">延时任务模拟</span><span class="ne-text">:</span></p><pre data-language="plain" id="SmMia" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
function 随机延时任务(任务名, 回调) {
// 示例输出: 任务"数据备份"将在 3.5秒后执行
// 实际执行后会输出完成时间和等待时长
}</code></pre><ul class="ne-ul" style="margin-left: 14px; padding-left: 23px;"><li id="u4e812680" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">模拟随机延时的异步任务</span></li><li id="u1de191e2" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">显示精确的执行时间差</span></li><li id="u591917e2" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">支持任务链式调用</span></li></ul><p id="u66e8b2b6" class="ne-p" style="min-height: 24px;"><span class="ne-text">e)</span><span class="ne-text"> </span><span class="ne-text">游戏事件触发</span><span class="ne-text">:</span></p><pre data-language="plain" id="ujt6a" class="ne-codeblock language-plain" style="border: 1px solid rgb(232, 232, 232); border-radius: 2px; background: rgb(249, 249, 249); padding: 16px; font-size: 13px; color: rgb(89, 89, 89);"><code>
// 示例输出: 宝箱出现</code></pre><ol class="ne-ol" style="padding-left: 23px;"><li id="u78e48f5c" data-lake-index-type="0"><span class="ne-text">随机时间生成:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="ua962e43b" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">随机时间</span></code><span class="ne-text">函数生成一个格式为</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">HH:MM:SS</span></code><span class="ne-text">的随机时间字符串。</span></li></ul></ul><ol start="2" class="ne-ol" style="padding-left: 23px;"><li id="u9ebf1733" data-lake-index-type="0"><span class="ne-text">模拟日志时间戳</span><span class="ne-text">:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u33a5ee32" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">模拟日志</span></code><span class="ne-text">函数使用</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">随机时间</span></code><span class="ne-text">生成时间戳,模拟日志记录的时间信息。</span></li></ul></ul><ol start="3" class="ne-ol" style="padding-left: 23px;"><li id="u8fedb328" data-lake-index-type="0"><span class="ne-text">生成随机闹钟时间</span><span class="ne-text">:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="udea8e938" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">生成3个随机的闹钟时间,并打印出来。</span></li></ul></ul><ol start="4" class="ne-ol" style="padding-left: 23px;"><li id="u33644903" data-lake-index-type="0"><span class="ne-text">测试数据生成器</span><span class="ne-text">:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u8881fdd3" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">创建一个包含5条随机测试数据的数组,每条数据有随机生成的</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">id</span></code><span class="ne-text">、</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">time</span></code><span class="ne-text">和</span><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">status</span></code><span class="ne-text">。</span></li></ul></ul><ol start="5" class="ne-ol" style="padding-left: 23px;"><li id="u780d06c2" data-lake-index-type="0"><span class="ne-text">随机延时任务模拟</span><span class="ne-text">:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="uda966eca" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">随机延时任务</span></code><span class="ne-text">函数模拟一个延时任务,任务的延时时间是随机的,任务执行后会调用回调函数(如果传入的话)。</span></li><li id="u19301523" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><span class="ne-text">使用回调函数模拟执行任务序列,依次打印任务的开始和结束时间。</span></li></ul></ul><ol start="6" class="ne-ol" style="padding-left: 23px;"><li id="u5bfe1e5c" data-lake-index-type="0"><span class="ne-text">游戏随机事件模拟</span><span class="ne-text">:</span></li></ol><ul class="ne-list-wrap" style="margin-left: 14px; padding-left: 23px; list-style: none;"><ul ne-level="1" class="ne-ul" style="margin-left: 14px; padding-left: 23px; list-style-position: initial; list-style-image: initial;"><li id="u70ef04ad" data-lake-index-type="0" style="list-style-position: initial; list-style-image: initial;"><code class="ne-code" style="font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; background-color: rgba(0, 0, 0, 0.06); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 2px; padding-right: 2px; padding-left: 2px;"><span class="ne-text">随机事件</span></code><span class="ne-text">函数模拟游戏中可能出现的随机事件,事件的时间和类型都是随机的。</span></li></ul></ul><div></div><p></p>
页:
[1]