python生成GMT/UTC时间戳

当前我遇到的问题是:谷歌bigquery的数据表中,每一条记录有一个GMT/UTC时间戳,我需要通过python传输sql语句过去读取7月9号0时的记录,那么问题就来了,如何在python程序中将2020.07.09 00:00这个时间点转换成GMT/UTC时间戳呢。

基础知识

地球自西向东旋转,东边比西边先看到太阳,东边的时间也比西边的早。协调世界时GMT/UTC在0时区,北京在东八区,即北京时间=UTC0时区时间+8小时。

时间戳的含义就是自GMT/UTC时间(1970.1.1)到现在所经过的秒数,与时区无关。

时间戳 = 目标时间 - 1970.1.1 00:00(GMT/UTC)
 

python生成GMT/UTC时间戳

当前bigquery用的是GMT/UTC,因此想要生成GMT/UTC时间的7月9号0时时间戳,转换时间戳时需要加个参数,指明这个7月9号0时是GMT/UTC时间而不是北京时间,就可以了,实现方式:

import datetime
import pandas as pd
dt = datetime.datetime(2020, 7, 9, 0, 0, 0, 0)
ts = pd.Timestamp(dt1, tz='utc').timestamp() #这就是时间戳

如果不指明utc时区,生成的时间戳就是北京时间7月9号0时时间戳,而这个时间戳对应的GMT/UTC时间却是7月8号16时,用这个时间戳去请求数据自然会出错。

 

参考:

UTC时间、GMT时间、本地时间、Unix时间戳

时间戳在线转换工具

你可能感兴趣的:(python生成GMT/UTC时间戳)