我正在尝试生成一系列时间戳,相隔6小时.随后在数据集中的每一天的00,06,12,18小时加上具有相应时间戳的数据.
这通常工作正常,使用:
generate_serIEs(extract(来自start_ts的epoch)::整数,extract(来自end_ts的epoch):: integer,21600)
其中start_ts在第一个日期为00小时,end_ts在最后一个日期为00小时独占.
但是,当时区偏移从系列中途的11到10时,它将不再匹配任何记录,因为系列元素变为1小时关闭.
有没有人有关于如何生成一系列’纪元整数’或时间戳的建议,这些时间戳与00,18小时的时间戳相匹配,同时尊重时区的偏移量?
解决方法 这将生成它(使用Postgresql 9.5),从今天开始,持续10天:select (current_date::timestamp + ((a-1)||' days')::interval)::timestamptzfrom generate_serIEs(1,10,.25) a
全年测试:
select *,date_part('hour',d::timestamp),d::timestampfrom ( select (current_date::timestamp + ((a-1)||' days')::interval)::timestamptz AS d from generate_serIEs(1,365,.25) a ) xwhere date_part('hour',d) not in (0,6,18)
编辑:以下版本适用于早于9.5的Postgresql版本:
select (current_date::timestamp + (((a-1)/4.0)||' days')::interval)::timestamptzfrom generate_serIEs(1,4* 10 ) a -- 10 days总结
以上是内存溢出为你收集整理的postgresql – postgres:生成一系列关于时区的时间戳全部内容,希望文章能够帮你解决postgresql – postgres:生成一系列关于时区的时间戳所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)