美文网首页
python日期处理填坑

python日期处理填坑

作者: 唯此 | 来源:发表于2018-09-30 17:19 被阅读0次

    字符串转化为pd.Timestamp中带上时区

    使用pd.Timestamp方法的话会转为一个带上时区标记的Timestamp,而使用pd.to_datetime则不会有.


    image.png

    日期转换中的时区转换

    如果想要避免日期转换的麻烦,直接使用pd.to_datetime方法就行了(同时要指定时间单位为秒),不要使用dt库里面的方法.

    import pandas as pd
    import datetime as dt
    import time
    dd2 = pd.to_datetime(1381234567, unit="s") # 不会做时区转化
    dt1 = dt.datetime.fromtimestamp(1381234567) # 会自动做时区转化,转化到东8区(当地时区)
    dt1_json = pd.DataFrame(data=[[dt1]]).to_json(date_unit="s") # 时间戳会自动多8个小时.
    dt3 = dt.datetime.fromtimestamp(1381234567, tz=dt.timezone(dt.timedelta(hours=8))) # 与dt1结果一样
    dt2 = dt.datetime.fromtimestamp(1381234567, tz=dt.timezone(dt.timedelta(hours=0))) # 比dt1少了8小时
    
    运行结果

    time.time()获取的结果为标准时间戳

    time.time()如果直接使用pd.to_datetime方法来转化的话,会与当前的北京时间相差8小时. 所以一般需要做修正.

    EIGHT_HOUR_SECONDS = 28800
    now_ts = int(time.time()) + EIGHT_HOUR_SECONDS #时区调整
    

    相关文章

      网友评论

          本文标题:python日期处理填坑

          本文链接:https://www.haomeiwen.com/subject/weylnftx.html