from datetime import date, datetime, timedelta
    import time
    import pandas as pd
    from pandas.tseries.offsets import Hour, Minute, Second
    
    
    print(time.localtime()) # time.struct_time(tm_year=2019, tm_mon=11, tm_mday=12, tm_hour=18, tm_min=34, tm_sec=52, tm_wday=1, tm_yday=316, tm_isdst=0)
    print(datetime.now().timestamp()) # 1573554892.416593 带小时分秒的
    print(datetime.now().tzinfo)    # None
    print(datetime.now().timetz())  # 18:34:52.416593
    print(datetime.now().date())    # 2019-11-12
    print(datetime.now())  # 2019-11-12 18:34:52.416593
        
    # date
    fixdate = date.today()+timedelta(days=-1)
    # date convert to datetime
    dtt = datetime(fixdate.year, fixdate.month, fixdate.day)
    print(dtt)              # 2019-11-11 00:00:00
    print(dtt.tzinfo)       # None 默认没有时区信息
    s_ts = dtt.timestamp()  # 1573401600.0 UTC时间戳
    print('------------------pd.to_datetime--------------------------')
    # pandas需要自己处理时区问题,默认没有时区信息,可以先本地化tz_localize时区再转换成tz_convert目标时区
    pddt = pd.to_datetime(s_ts, utc=True, unit='s') 
    print(pddt.tzinfo)                        # UTC
    print(pddt.timestamp())                   # 1573401600.0 
    print(pddt)                               # 2019-11-10 16:00:00+00:00
    pddt = pd.to_datetime(s_ts, utc=False, unit='s')
    print(pddt.tzinfo)                        # None
    print(pddt.timestamp())                   # 1573401600.0
    print(pddt)                               # 2019-11-10 16:00:00 
    pddt = pd.to_datetime(s_ts, utc=False, unit='s').tz_localize('Asia/Shanghai') # 本地化成某个时区
    print(pddt.tzinfo)                        # Asia/Shanghai
    print(pddt.timestamp())                   # 1573372800.0 
    print(pddt)                               # 2019-11-10 16:00:00+08:00 
    pddt = pd.to_datetime(s_ts, utc=True, unit='s').tz_convert('Asia/Shanghai')  # 转换成某个时区
    print(pddt.tzinfo)                        # Asia/Shanghai
    print(pddt.timestamp())                   # 1573401600.0 
    print(pddt)                               # 2019-11-11 00:00:00+08:00 
    print('--------------------Hour(23) + Minute(59) + Second(59) --------------------------')
    sec = Hour(23) + Minute(59) + Second(59) 
    print(sec.freqstr) # 86399S 秒,结束带个S
    pddt = pd.to_datetime(s_ts+int(sec.freqstr[:-1]), utc=True, unit='s').tz_convert('Asia/Shanghai')
    print(pddt)              # 2019-11-11 23:59:59+08:00
    print(pddt.timestamp())  # 1573487999.0 
    
     # 这样算本来才是真正想要的目标时间戳,推荐使用这种方式
    dtt_hms = (dtt + Hour(23) + Minute(59) + Second(59)).tz_localize('Asia/Shanghai').tz_convert('utc').value/1000000000
    print(dtt_hms)           # 1573487999.0 2019-11-11 23:59:59+08:00
    
    # 这样算出为是目标时间多了8小时的时间戳
    dtt_hms = (dtt + Hour(23) + Minute(59) + Second(59)).value/1000000000
    print(dtt_hms)           # 1573516799.0  2019-11-12 07:59:59 
    exit(0)

pandas之to_datetime时区转换的更多相关文章

  1. SQL Server全时区转换

    SQL Server全时区转换 假如你的应用程序是跨国(例如跨国银行交易)使用的话,那么数据库的一些国际化特性支持可以说是非常重要 其中最常见的就是各国时区上的差异,由于SQL Server getd ...

  2. datetime时区转换

    http://www.dannysite.com/blog/122/ Python标准库中的datetime模块提供了各种对日期和时间的处理方法.从本文的主题着手,首先利用datetime中提供的ut ...

  3. python 27 获取时区转换后的时间

    python3的datetime有timezone属性,这里介绍python2.7环境下,获取时区转换后的时间. 利用第三方插件,pytz,没有安装的话安装一下. #!/usr/bin/env pyt ...

  4. Java 时区转换(UTC+8 到 UTC 等等)

    前言:需要做时区转换,知道北京为UTC+8,东京为UTC+9,世界标准时间为UTC,所以下面的代码是只需要知道时区是+8还是+9还是0就可以了,不需要使用"CTT". " ...

  5. java中的时区转换

    目录 java中的时区转换 一.时区的说明 二.时间的表示 三.时间戳 四.Date类和时间戳 五.java中的时区转换 java中的时区转换 一.时区的说明 地球表面按经线从东到西,被划成一个个区域 ...

  6. Java日期时间API系列19-----Jdk8中java.time包中的新的日期时间API类,ZonedDateTime与ZoneId和LocalDateTime的关系,ZonedDateTime格式化和时区转换等。

    通过Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类中时间范围示意图:可以很清晰的看出ZonedDateTime相当于LocalDateTime+ZoneI ...

  7. Clickhouse 时区转换(下)

    Clickhouse 时区转换续—时区参数转换 天天加班,时间不够,主要还是我太懒,流汗,,,,,,另外如果这篇学习笔记超过100阅读量并有评论,我可能半夜也会爬起来更新的. 相信大家看我之前记录的这 ...

  8. Clickhouse 时区转换

    Clickhouse 时区转换 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). OLAP场景的关键特征 大多数是读请求 数据总是以相当大的批(> 1000 ...

  9. Python3中datetime时区转换介绍与踩坑

    最近的项目需要根据用户所属时区制定一些特定策略,学习.应用了若干python3的时区转换相关知识,这里整理一部分记录下来. 下面涉及的几个概念及知识点: GMT时间:Greenwich Mean Ti ...

随机推荐

  1. vue2.0+按需引入element-ui报错

    项目使用vue脚手架自动生成的,vue版本为^2.5.16.项目中需要按需使用element-ui,根据element-ui的官方文档,一开始在babel.config.js文件中修改配置 modul ...

  2. Vue页面缓存和不缓存的方法

    第一步 在app中设置需要缓存的div //缓存的页面 <keep-alive> <router-view v-if="$route.meta.keepAlive" ...

  3. MySQL连表查询练习题

    1.建库 库名:linux50 字符集:utf8 校验规则:utf8_general_ci  create database linux4 charset utf8 default collate ...

  4. 启动Activity的单独事件方法2

    1.Button中创建android:onClick="sendmessage" sendmessage方法名 //MAIN_acitivity创建这个同名独立方法 响应Butto ...

  5. monkeyrunner录制和回放功能

    脚本录制 网上先是搜索了一下,说是SDK--tools目录下有monkey_recorder.py和monkey_playback.py的脚本,但是我的没有找到所以可以自己编辑个脚本保存即可~ 先编辑 ...

  6. .net core 读取appsettings 的配置

    { "Logging": { "IncludeScopes": false, "LogLevel": { "Default&quo ...

  7. linux shell介绍

    Shell定义 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行. 实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内 ...

  8. Java 实现的 简单WordCount功能

    githup 链接:https://gitee.com/iy2524/WordCount.git PSP表格  psp2.1  psp阶段 估计耗时(分钟)  实际耗时(分钟) Planning  计 ...

  9. 使用powershell的remove

    使用Remove-Module -Name Functions2 只是移除当前会话的模块 并且Import-Module -Name Functions2与 Remove-Module -Name F ...

  10. Web前端开发——HTML概述

    HTML  HyperText MakeUp Language,“超文本标记语言”,它是制作网页的标准语言 超文本就是通过链接的方式将文本有机地组织在一起,HTML的标记称为标签. 标签 HTML由标 ...