在SQLITE中获取特定时区的所有星期一,其中日期文本以UTC时区存储

apeeds0o  于 2022-11-24  发布在  SQLite
关注(0)|答案(1)|浏览(170)

我有一个日期列(文本为sqlite不存储日期)称为日期。这些日期以UTC存储。我有一个时区"欧洲/伦敦"(这可以更改,使本地时间在这里不可行),我想用这个时区获得所有星期一。但是,如果我只选择where strftime('%w', Dates)=01,则只能从UTC时间获取星期一。我想从"Europe/London"或任何其他时区获取星期一。如何才能做到这一点?
编辑:澄清了我的问题,本地时间在这里不起作用

deyfvvtc

deyfvvtc1#

local_tslocal_day_of_week中的值取决于系统设置

with cte_utc_dates (utc_ts) as (
values ('2022-11-22 00:00:00'),
       ('2022-11-22 01:00:00'),
       ('2022-11-22 02:00:00'),
       ('2022-11-22 03:00:00'),
       ('2022-11-22 04:00:00'),
       ('2022-11-22 05:00:00'),
       ('2022-11-22 06:00:00'),
       ('2022-11-22 07:00:00'),
       ('2022-11-22 08:00:00'),
       ('2022-11-22 09:00:00'),
       ('2022-11-22 10:00:00'),
       ('2022-11-22 11:00:00'),
       ('2022-11-22 12:00:00'),
       ('2022-11-22 13:00:00'),
       ('2022-11-22 14:00:00'),
       ('2022-11-22 15:00:00'),
       ('2022-11-22 16:00:00'),
       ('2022-11-22 17:00:00'),
       ('2022-11-22 18:00:00'),
       ('2022-11-22 19:00:00'),
       ('2022-11-22 20:00:00'),
       ('2022-11-22 21:00:00'),
       ('2022-11-22 22:00:00'),
       ('2022-11-22 03:00:00'))
select utc_ts,
       strftime('%w', utc_ts)                        as utc_day_of_week,
       datetime(utc_ts, 'localtime')                 as local_ts,
       strftime('%w', datetime(utc_ts, 'localtime')) as local_day_of_week
  from cte_utc_dates;

相关问题