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

Azure Data Factory:如何基于当前日期获取上周六日期(变量实现)

在Azure Data Factory中通过变量获取上周六日期的实现方法

完全可以实现,不需要依赖Lookup活动连接数据库,直接用ADF内置的日期函数就能通过变量计算出上周六的日期,具体操作如下:

核心逻辑

ADF的dayOfWeek函数返回0(周日)到6(周六)的数值,我们可以基于当前日期的星期数,通过dateAdd函数倒推到上周六:

  • 若当前是周日(0),减1天得到上周六
  • 若当前是周一(1),减2天得到上周六
  • ...
  • 若当前是周六(6),减7天得到上周六

这个逻辑可以用一行表达式统一实现。

操作步骤

  1. 创建变量:在ADF管道的「变量」面板中,新建一个字符串类型的变量(比如命名为LastSaturday)。
  2. 设置变量值:添加「设置变量」活动,将变量值设为以下表达式:
    @formatDateTime(dateAdd(utcNow(), -(dayOfWeek(utcNow()) + 1), 'Day'), 'yyyy-MM-dd')
    
    • 如果需要基于特定时区计算(比如北京时间),先用convertFromUtc转换时区,表达式调整为:
      @formatDateTime(dateAdd(convertFromUtc(utcNow(), 'China Standard Time'), -(dayOfWeek(convertFromUtc(utcNow(), 'China Standard Time')) + 1), 'Day'), 'yyyy-MM-dd')
      
  3. 验证结果:启动管道调试,查看变量LastSaturday的取值是否符合预期。

表达式说明

  • utcNow():获取当前UTC时间
  • dayOfWeek(...):返回当前日期的星期索引(0=周日,6=周六)
  • dateAdd(...):根据星期索引计算需倒退的天数,得到上周六的日期
  • formatDateTime(...):将结果格式化为yyyy-MM-dd的字符串(可按需调整格式)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 04:51:12