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

通过Google Apps Script导入HubSpot日期至Sheets的时差问题确认

解决HubSpot与Google Sheets同步时的1小时日期差异问题

嘿,我明白你遇到的这个头疼的问题——明明所有平台时区都设成了中部时间,夏令时偏移也都是-05:00,同步后日期却差了1小时。结合你提到的2018年3月18日这个夏令时日期,我来给你拆解下可能的原因和解决办法:

  • 先确认HubSpot API返回的原始数据:HubSpot确实是用UTC存储日期的,但你调用API拿到的是纯UTC时间戳,还是带时区标识的字符串?比如如果是2018-03-18T12:00:00Z这种标准UTC格式,那问题大概率出在Apps Script的日期转换环节。
  • 修正Apps Script里的日期转换逻辑:
    • 别直接用new Date(utcDateString)来转换,虽然Apps Script时区设成了中部时间,但Date对象的自动解析有时候会在夏令时切换前后出现偏差。
    • 推荐两种可靠的转换方式:
      第一种是手动计算偏移,因为你明确知道当时是夏令时(UTC-5),直接对UTC时间戳做加减:
      function convertHubSpotUTCToCentral(utcDateStr) {
        const utcTimestamp = new Date(utcDateStr).getTime();
        // 夏令时期间减去5小时的毫秒数(1小时=3600000毫秒)
        const centralTimestamp = utcTimestamp - 5 * 3600000;
        return new Date(centralTimestamp);
      }
      
      第二种是用Apps Script自带的Utilities.formatDate,明确指定中部时间的时区标识符,让系统帮你处理夏令时:
      function formatDateToCentral(utcDateStr) {
        const utcDate = new Date(utcDateStr);
        // "America/Chicago"是中部时间的标准时区标识符
        return Utilities.formatDate(utcDate, "America/Chicago", "yyyy-MM-dd HH:mm:ss");
      }
      
  • 检查Google Sheets的显示设置:有时候不是数据错了,是单元格格式的问题。右键同步后的日期单元格,选「格式→数字→日期时间」,挑一个带时区的格式看看,确认显示的时区是不是中部时间,有没有额外偏移。
  • 核对夏令时规则一致性:虽然都是中部时间,但极少数情况下不同平台的夏令时切换规则可能有细微差异,不过2018年3月18日已经是夏令时生效后的日期,这个概率很低,但可以确认下HubSpot和Google的夏令时开始/结束日期是否一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:38:44