zoukankan      html  css  js  c++  java
  • 050:navie时间和aware时间详解

    navie时间和aware时间:

    什么是navie时间?什么是aware时间?

    1. navie时间:不知道自己的时间表示的是哪个时区的。也就是不知道自己几斤几两。比较幼稚。
    2. aware时间:知道自己的时间表示的是哪个时区的。也就是比较清醒。

    pytz库:

    专门用来处理时区的库。这个库会经常更新一些时区的数据,不需要我们担心。并且这个库在安装Django的时候会默认的安装。如果没有安装,那么可以通过pip install pytz的方式进行安装。

    astimezone方法:

    将一个时区的时间转换为另外一个时区的时间。这个方法只能被aware类型的时间调用。不能被navie类型的时间调用。示例代码如下(Linux环境下进入python环境):

    import pytz
    from datetime import datetime
    now = datetime.now() # 这是一个navie类型的时间
    utc_timezone = pytz.timezone("UTC") # 定义UTC的时区对象
    utc_now = now.astimezone(utc_timezone) # 将当前的时间转换为UTC时区的时间
    >> ValueError: astimezone() cannot be applied to a naive datetime # 会抛出一个异常,原因就是因为navie类型的时间不能调用astimezone方法
    
    now = now.replace(tzinfo=pytz.timezone('Asia/Shanghai'))
    utc_now = now.astimezone(utc_timezone)
    # 这时候就可以正确的转换。

    replace方法:

    可以将一个时间的某些属性进行更改。

  • 相关阅读:
    STM32如何用LCD、OLED显示浮点数
    STM32F 系列芯片 容量文件选择 startup_stm32f10x_hd
    sprintf与浮点数表示
    VSCode安装、配置
    用IDEA编写Vue
    mychart.onclick点击一次,执行多次
    软件测试和软件项目的关系
    java list model转换
    几个Java常用库
    mysql json 数组查询
  • 原文地址:https://www.cnblogs.com/zheng-weimin/p/10216513.html
Copyright © 2011-2022 走看看