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

如何用Flux获取日历周、月、季度及年度起始时间的数据?

Flux 查询获取日历周期起始时间方案

一、日历周起始时间(自定义周起始)

Flux 原生的 date.truncate(t: now(), unit: 1w) 是从当前时间倒推7天,并非日历周(周一/周日)的起始。需要通过计算星期偏移量来获取准确的日历周起始:

场景1:以周一00:00为周起始

// 获取当前星期几(0=周日,1=周一,…6=周六)
currentWeekDay = date.weekDay(t: now())
// 计算需回退的天数:周日回退6天,其他日期回退(当前星期数-1)天
daysToSubtract = if currentWeekDay == 0 then 6 else currentWeekDay - 1
// 将天数转为Duration类型
offsetDuration = duration(v: "${daysToSubtract}d")
// 得到周一00:00的起始时间
weekStart = date.add(d: -offsetDuration, t: date.truncate(t: now(), unit: 1d))

// 应用到查询中
from(bucket: "your-bucket")
  |> range(start: weekStart, stop: now())
  // 后续处理逻辑

场景2:以周日00:00为周起始

currentWeekDay = date.weekDay(t: now())
daysToSubtract = currentWeekDay
offsetDuration = duration(v: "${daysToSubtract}d")
weekStart = date.add(d: -offsetDuration, t: date.truncate(t: now(), unit: 1d))

from(bucket: "your-bucket")
  |> range(start: weekStart, stop: now())

二、日历月起始时间

直接用 date.truncate 结合 1mo 单位即可,会自动定位到当月1日00:00:00:

monthStart = date.truncate(t: now(), unit: 1mo)

from(bucket: "your-bucket")
  |> range(start: monthStart, stop: now())

三、日历季度起始时间

两种实现方式:

方式1:直接用3个月截断

date.truncate 支持 3mo 单位,会自动定位到当前季度的第一天(如5月对应4月1日):

quarterStart = date.truncate(t: now(), unit: 3mo)

from(bucket: "your-bucket")
  |> range(start: quarterStart, stop: now())

方式2:手动计算季度起始月

currentMonth = date.month(t: now())
// 匹配当前季度的起始月份
quarterStartMonth = if currentMonth <=3 then 1 else if currentMonth <=6 then 4 else if currentMonth <=9 then7 else10
// 构造季度起始时间
quarterStart = date.truncate(t: date.month(t: now(), month: quarterStartMonth), unit: 1mo)

from(bucket: "your-bucket")
  |> range(start: quarterStart, stop: now())

四、日历年度起始时间

用 date.truncate 结合 1y 单位,定位到当年1月1日00:00:00:

yearStart = date.truncate(t: now(), unit: 1y)

from(bucket: "your-bucket")
  |> range(start: yearStart, stop: now())

内容的提问来源于stack exchange,提问作者Ihor L.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:38:14