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)

最新文章

  1. ios基础之 透过页面跳转来认识 Strong 与 Weak
  2. DOCTYPE是什么鬼?文档模式又是什么鬼?
  3. RAC 相关概念解释
  4. SQL语句中:UNION与UNION ALL的区别
  5. Spring MVC + jpa框架搭建,及全面分析
  6. git分支与版本管理、版本回退、冲突解决记录
  7. 通过asp.net程序来控制自己开发的windows服务
  8. 在Windows Server2008R2中导入Excel不能使用Jet 4.0的解决方法
  9. JS escape()、encodeURI()和encodeURIComponent()的区别
  10. C# 基础概念之延迟加载
  11. Git安装使用
  12. JDK自带的缓存--包装类的缓存
  13. centos7中docker操作
  14. Jersey RESTful WebService框架学习(三)使用@QueryParam
  15. Debian8 下面 muduo库编译与使用
  16. DateTimeField如何自动设置为当前时间并且能被修改 ——django日期时间字段的使用
  17. P3707 [SDOI2017]相关分析
  18. 软工实践-Beta 冲刺 (2/7)
  19. 6款实用的硬盘、SSD固态硬盘、U盘、储存卡磁盘性能测试工具
  20. 20155207 2016-2017-2 《Java程序设计》第十周学习总结

热门文章

  1. Flutter-动画-原理篇
  2. 使用脚本启动fabric时出错
  3. Python 之 random模块
  4. centos 7 源代码 mysql-5.7.2 安装
  5. python学习-数据类型
  6. 小程序UI设计(8)-布局分解-FlexBox的align-content应用
  7. 部署NFS共享
  8. 从输入URL到页面加载全过程
  9. idea 启动ssm项目
  10. 一例tornado框架下处理上传图片并生成缩略图的例子