zoukankan      html  css  js  c++  java
  • Python时间获取详解,Django获取时间详解,模板中获取时间详解(navie时间和aware时间)

    1.Python获取到的时间

    import pytz
    from datetime import datetime
    now = datetime.now()    # 这个时间为navie时间(自己不知道自己所处的时区)
    print(now)
     
    # 将时间转换为另一个时区的时间,此时会报错,因为此时的时间不知道自己所处的时区
    # utc_timezone = pytz.timezone("UTC")
    # now.astimezone(utc_timezone)
    # >> ValueError: astimezone() cannot be applied to a naive datetime
     
    # 先给时间指定时区,此时的时间变为aware时间(自己知道自己所处的时区)
    now = now.replace(tzinfo=pytz.timezone("Asia/Shanghai"))
     
    utc_timezone = pytz.timezone("UTC")     # 定义UTC的时区对象
    utc_now = now.astimezone(utc_timezone)  # 将当前时间转换为UTC时区的时间
    print(now)
    print(utc_now)
    

    2.Django项目下setting.py文件里

    django.utils.timezone.now方法:会根据'setting.py'中设置的USE_TZ获取当前时间,
    (USE_TZ=True会获取到一个aware时间,时区为UTC,USE_TZ=False,就会获取到一个navie时间)
    django.utils.timezone.localtime方法:将一个aware时间,转换为本地时间('setting.py'中设置
    的TIME_ZONE时区)
    如果USE_TZ设置为False,那么Django获取到的当前时间就是一个navie时间,USE_TZ = True获取到的是
    aware时间,且时区为UTC(因为Django ,now()函数的原因,和 python的now()函数不一样)
    TIME_ZONE = 'Asia/Shanghai' 设置本地时间的时区
     
    # 将UTC时间转换为本地时间
    create_time = now()     # Django通过now()获取到的是UTC时间
    localtime(create_time)
    

    3.在Django模板中将一个UTC时间转换为本地时间

    {% load tz %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    # 导入的tz 带有localtime过滤器,可以将时间转换为本地时间
    {{ create_time | localtime }}
    # localtime不写,也会自动转换,{{ create_time | localtime }}
    </body>
    </html>
    

    4.在model.py文件中写

    class Article(models.Model):
        # auto_now  每次save()保存数据的时候,都会更新当前时间,进数据库
        # auto_now_add  只在第一次添加数据的时候,会将当前时间保存进数据库
        title = models.CharField(max_length=200)
        create_time = models.DateTimeField(auto_now=True)
    
  • 相关阅读:
    前端模块化
    Spring Boot 配置中的敏感信息如何保护?
    开发者眼中的“道、法、术、器”
    只是想虐下春丽,一不当心玩了下serverless...感觉还不错哟!
    Spring Boot中使用时序数据库InfluxDB
    使用Elastic Job的时候报“Job conflict with register center”,如何处理?
    使用Elastic Job的分片配置加速任务执行和提高资源利用率
    Spring Boot 2.x基础教程:使用Elastic Job实现定时任务
    Spring Boot 2.x基础教程:使用@Scheduled实现定时任务
    Spring Cloud Alibaba 2.2.6发布:新增Nacos注册快速失败的配置
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10418761.html
Copyright © 2011-2022 走看看