You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Apps Script中编写基于时间的if条件判断语句

问题排查与解决方案

核心原因

  • 时区处理错误:你没有将输入的tradeTime转换为美国中部时间(CT,对应时区标识America/Chicago),直接使用UTC时间、本地时区时间的时间值与14点比较,结果永远不符合条件。CT存在夏令时规则,每年3-11月为UTC-5,其余时段为UTC-6,不能直接写死固定时差计算,必须通过标准时区接口转换。
  • 比较逻辑错误:如果直接将完整日期时间对象与14:00类字符串、纯小时数值比较,类型不匹配会导致判断永远返回False,始终进入else分支。
  • 判断条件写反:检查if语句的比较符号是否写反,避免把早于14点的判断误写为晚于14点。

Python 实现示例

from datetime import datetime
import pytz

def check_trade_time(trade_time):
    # 定义CT时区
    ct_zone = pytz.timezone("America/Chicago")
    # 转换输入时间为CT时区时间
    trade_time_ct = trade_time.astimezone(ct_zone)
    # 构造当日CT时区14点的时间对象
    two_pm_ct = trade_time_ct.replace(hour=14, minute=0, second=0, microsecond=0)
    if trade_time_ct < two_pm_ct:
        return "Trade time is less than 2pm CT"
    else:
        return "Trade time is not less than 2pm CT"

电子表格实现示例(Google Sheets)

如果是在电子表格中计算,使用以下公式,需提前将tradeTime所在单元格(示例为A1)设置为日期时间格式:

=IF(TIMEVALUE(CONVERT_TZ(A1, "UTC", "America/Chicago")) < TIME(14,0,0), "早于CT下午2点", "晚于等于CT下午2点")

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:54:02