• 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)
    
  • 相关阅读:
    12.静态目录
    11.Git线上操作
    10.分离的前后台交互
    09.后台主页应用
    08.前端主页
    爬虫介绍
    python2与python3爬虫中get与post对比
    HTML+CSS+JavaScript
    数据库 Mysql-mongodb-redis
    时频工具箱介绍与使用
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10418761.html
Copyright © 2020-2023  润新知