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方法:

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

  • 相关阅读:
    webpack脚手架增加版本号
    background-image:url为空引发的两次请求问题
    vue中引入.svg图标,使用iconfont图标库
    mysql数据库
    vue 博客知识点汇总
    vue中显示markdown文件为html
    canvans知识点
    js如何实现一定时间后去执行一个函数
    CSS3选择器使用小结
    为什么margin-top不是作用于父元素
  • 原文地址:https://www.cnblogs.com/zheng-weimin/p/10216513.html
Copyright © 2011-2022 走看看