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

Shopify Function中new Date()返回1970-01-01问题求助

Shopify Function 获取当前日期的问题解决
  • 问题根源:Shopify Functions运行在WebAssembly受限环境里,不像浏览器或Node.js能直接访问系统时钟,所以调用new Date()时,因为没有可用的当前时间数据源,只能返回纪元起始时间(1970-01-01),这不是解析问题,是环境限制导致的。

  • 正确获取当前日期的方法:
    Shopify会把当前请求的系统时间作为上下文数据传入Function,你需要从输入参数里提取context.currentDate字段来获取准确的当前日期。

    举个JS Function的示例:

    export function run(input) {
      // 从Shopify传入的上下文拿到当前日期
      const currentShopifyDate = new Date(input.context.currentDate);
      // 假设你的目标日期是从输入中获取的
      const targetDate = new Date(input.targetDate);
    
      // 日期对比逻辑
      if (currentShopifyDate >= targetDate) {
        // 执行你的业务逻辑
      }
    }
    
  • 注意事项:
    不要用Date.now()或无参数的new Date(),这些方法在Shopify Function环境中都无法获取真实当前时间。必须依赖Shopify提供的上下文时间,这样还能保证和Shopify系统时间一致,避免时区、本地时间偏差的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 17:42:03