1.问题及解决办法 (1)问题:由于存储的时间戳是时间戳为GMT(格林尼治标准时间),以秒储存,但由于需要获取的是北京时间,存在时区问题。如何获取北京时区的时间日期? (2)
1.问题及解决办法(1)问题:由于存储的时间戳是时间戳为GMT(格林尼治标准时间),以秒储存,但由于需要获取的是北京时间,存在时区问题。如何获取北京时区的时间日期? (2)通过上网查找了解决办法,有一堆办法,有说连接时设置地区,都很复杂,本人没成功。尝试成功过的方法如下: ①方法一:在查询前设置时区,输入“set time_zone='+08:00';” 但这个方法存在弊端,不是非常通用,比如需要用python调用数据库查询时会报错。 ②方法二:直接用公式将北京时区的时差相加,公式为:
说明:timestamp为时间戳,可为数字串也可为存在时间戳的字段。3600为一小时的秒数。该方法可以非常通用。 2.时区差相加公式的实例(1)将时间戳转为小时(0-24小时)。其中timestamp为时间戳。
说明:时间戳是以秒8*3600表示北京时区的时差,86400=24*3600表示1天的秒数,“(timestamp+8*3600)%86400”中“%”取余数,余数则为当天时间点的秒数。3600是一小时的秒数,用当天时间点的秒数除以3600表示小时。 补充:SQL 关于时区的处理案例设置时间偏移:SWITCHOFFSET(StopageStartTime,'+08:00') 时间转换:CONVERT(VARCHAR(19),SWITCHOFFSET(StopageStartTime,'+08:00'),121)
|
2021-06-02
2021-06-05
2022-06-27
2022-10-12
2019-09-11