我想从考虑夏令时的日期时间生成每周间隔。
示例情况: first_datetime 是 UTC 时间 1 月 3 日 2300 和本地时间。夏令时在 1 月 12 日将当地时间向前移动一个小时。目标输出:2300 3 Jan UTC,2300 10 Jan UTC,2200 17 Jan UTC,...
我目前使用的代码仅以周为间隔向前移动,不考虑时区。
# Models
class Celebration(Models.model):
first_datetime = models.Date
...
# Managers.py
...
Celebration.objects.annotate(
start=Func(
ExpressionWrapper(
F("first_datetime"), output_field=DateTimeField()
), # Find first datetime.
end,
Value("1 week"),
function="generate_series",
),
)
直接使用 postgres 的相关答案:https://dba.stackexchange.com/questions/175963/how-do-i-generate-a-date-series-in-postgresql