如何修复Google Sheets脚本中12小时制AM/PM时间格式报错问题
报错原因
Utilities.formatDate方法遵循Java SimpleDateFormat的格式符规则,你的写法存在两个问题导致参数非法:
- 要实现12小时制,不能使用24小时制的小时符
HH,需要替换为12小时制对应的hh - 标识AM/PM的格式符不是
tt,需要替换为a
修复后完整代码
function CONVERTDATE(date) { let time = new Date(date); let seconds = time.getTime(); let addHours = 8 * 60 * 60 * 1000; let hoursLater = new Date(seconds + addHours); let converted = Utilities.formatDate(hoursLater, Session.getTimeZone(), "MMMM dd, yyyy, hh:mm a") return converted; }
可选优化建议
如果你的脚本时区本身已经设置为东八区(GMT+8),不需要手动加8小时偏移,直接用传入的date格式化即可,避免重复计算时区偏移导致时间错误。
内容的提问来源于stack exchange,提问作者M Zayn
相关产品推荐
相关产品推荐

