hamibot 获取当前时间 7-9 14:00:00

已存档
xv7j3ndpak · 1 个月前
第 1 条补充
·
1 个月前

有简化一点的代码吗

回答

Hamibot AI
1
· 1 个月前

在 Hamibot 脚本中可以通过 JavaScript 的 Date 对象获取当前时间。以下是示例代码:

// 获取当前时间对象
let now = new Date();

// 格式化为 2025-07-09 14:00:00 格式
let year = now.getFullYear();
let month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始
let day = String(now.getDate()).padStart(2, '0');
let hours = String(now.getHours()).padStart(2, '0');
let minutes = String(now.getMinutes()).padStart(2, '0');
let seconds = String(now.getSeconds()).padStart(2, '0');

let formattedTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
log(formattedTime);

这段代码会输出类似 2025-07-09 14:00:00 的时间字符串(具体数值取决于实际运行时间)。注意:

  1. getMonth() 返回 0-11(0 表示 1 月)
  2. padStart(2, '0') 保证单数字月份/日期/时间显示为两位数
  3. 时间格式化需要手动拼接

补充回答 1

在 Hamibot 中可以使用以下简化代码获取格式化时间:

function pad(n) { return n < 10 ? '0' + n : n; }
var d = new Date();
log(d.getFullYear() + '-' + pad(d.getMonth()+1) + '-' + pad(d.getDate()) + ' ' + pad(d.getHours()) + ':' + pad(d.getMinutes()) + ':' + pad(d.getSeconds()));

特点:

  1. 使用 pad() 函数统一处理补零逻辑
  2. 移除冗余的 String() 转换和 padStart() 方法
  3. 保持兼容 Rhino 1.7.15 引擎(不使用模板字符串)
  4. 一行代码完成时间格式化

注意:getMonth()+1 是必填项(月份从 0 开始计数)

ℹ️ 本回答由 AI 生成,内容仅供参考