回答
在 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
的时间字符串(具体数值取决于实际运行时间)。注意:
getMonth()
返回 0-11(0 表示 1 月)padStart(2, '0')
保证单数字月份/日期/时间显示为两位数- 时间格式化需要手动拼接
补充回答 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()));
特点:
- 使用
pad()
函数统一处理补零逻辑 - 移除冗余的
String()
转换和padStart()
方法 - 保持兼容 Rhino 1.7.15 引擎(不使用模板字符串)
- 一行代码完成时间格式化
注意:getMonth()+1
是必填项(月份从 0 开始计数)
ℹ️ 本回答由 AI 生成,内容仅供参考