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. vue-element-admin 多层路由问题

    在二级页面上添加<router-view> 关于页面打包后三级路由无法访问问题 需要将 存放router-view 的页面单独存放一个文件夹 router.js 写法

  2. 不升级Element-UI 版本为时间选择器增加标记功能

    Element-UI里的date-picker是个优秀的时间选择器,支持的选项很多,定制型很强.不过date-picker在2.12版本之前并不支持自定义单元格样式,也就是2.12的cellClass ...

  3. 解决 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 九步完成

  4. 【转】FireMonkey ListView 自动计算行高

    说明:展示 ListView 视其每一行 Item 的 Detail 字串长度自动调整高度(可每行高度不同). 适用:Delphi XE7 / XE8 源码下载:[原创]ListView_自动计算行高 ...

  5. php打包下载以及断点续传

    php下载单文件 以及 多文件打包下载,支持断点续传 断点续传的功能未经验证 需要nginx或者apache服务器指定静态文件,png, mp4, zip等后缀文件的目录, 直接实例化并调用 down ...

  6. odoo 权限文件说明

    id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink (权限的定义)access_book_user ...

  7. 8.6.zookeeper应用案例_分布式共享锁的简单实现

    1.分布式共享锁的简单实现 在分布式系统中如何对进程进行调度,假设在第一台机器上挂载了一个资源,然后这三个物理分布的进程都要竞争这个资源,但我们又不希望他们同时 进行访问,这时候我们就需要一个协调器, ...

  8. ble ic

    ti cc25xxnordic nrf24xx nrf51xx nrf52xx Beken bk34xx

  9. Ubuntu .tar.xz文件解压缩命令

    1.解压缩.tar.xz文件 这是两层压缩,外面是xz压缩方式,里层是tar压缩 所以可以分两步实现解压 $ xz -d filename.tar.xz $ tar -xvf filename.tar ...

  10. Redis07-Redis单节点容量问题,twemproxy,predixy的使用

    Redis单节点容量问题 一.单节点容量问题 我们在实际场景中,往往遇上一个单节点容量问题. 1.进行业务拆分,数据分类 2.到了数据不能拆分的时候,可以进行数据分片 进行哈希取模(影响分布式下的扩展 ...