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)
Python时间获取详解,Django获取时间详解,模板中获取时间详解(navie时间和aware时间)的更多相关文章
- django的html模板中获取字典的值
在django的html模板中获取字典中的值应当直接使用 字典.[key] 的方式 {% for i in lists %} <li id="{{i.id}}" class ...
- Thymeleaf+SpringMVC,如何从模板中获取数据
Thymeleaf+SpringMVC,如何从模板中获取数据 在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对 ...
- Django:在模板中获取当前url信息
确保项目配置里的context_processors包含django.template.context_processors.request. 从 Django 1.9 开始, 默认是已经配置的. P ...
- Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比
Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法 os.system('ll /data/') 但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...
- Django学习系列17:在模板中渲染待办事项
前面提到的问题中在表格中显示多个待办事项 是最后一个容易解决的问题.要编写一个新单元测试,检查模板是否也能显示多个待办事项: lists/tests.py def test_displays_all_ ...
- django模板中获取域名地址
获取域名: {{ request.get_host }} 获取路径:{{ request.path }} 获取协议 {{ request.scheme }}
- 把存储过程获取的数据输出到报表的html模板中
制作报表的html模板 <HTML><meta http-equiv="Content-Type" content="text/html; charse ...
- *ecshop 模板中foreach用法详解
1.foreach分以下几个参数 from, item, name, iteration, index 2.使用foreach循环 如果php要传递一个数组(如:$array)给ecshop ...
- Thymeleaf+SpringMVC,如何从模板中获取数据(转)
在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对视图进行完全的抽象,在使用Thymeleaf的情况下,它将是一 ...
随机推荐
- zepto,kissy前端框架实现跨域
三.jsonp的原理:带有src属性标签的跨域资源获取能力,在jsonp中通常使用<script>标签,因为<script>标签获取的跨域资源可以使用回调函数直接处理 json ...
- nyoj 975 Distinct Count
Distinct Count 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 给一个长度为 n 的数列 {an} ,找出有多少个长度为 m 的区间,使区间中不含有重复的数 ...
- 前端_basic
web: 分三部分:1.HTML:2.CSS:3.JavaScript. 1.HTML:用来构建网页的结构和内容: 2.CSS:用来给网页化妆,美化网页: 3.JavaScript:用来让网页呈现动态 ...
- 创建一个很大的EMP表 EMP_LARGE
--CREATE TABLE EMP_LARGE AS SELECT * FROM EMP ; ---先复制一张EMP表 DECLARE --声明变量 v_loop NUMBER; v_num NUM ...
- Mysql下Union注入Bypass安全狗过程
文章转载于:http://www.0aa.me/index.php/archives/95/ 一次众测发现个注入,然后有安全狗就顺带看了下安全狗. 先fuzz看看安全狗拦截什么关键词union sel ...
- 善用php-fpm的慢执行日志slow log,分析php性能问题
众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题.作为mysql的好搭档,php也有这样的功能.如果你使用php-fpm来管理php的话,你可以 ...
- hdu1695 GCD 莫比乌斯反演做法+枚举除法的取值 (5,7),(7,5)看做同一对
/** 题目:hdu1695 GCD 链接:http://acm.hdu.edu.cn/status.php 题意:对于给出的 n 个询问,每次求有多少个数对 (x,y) , 满足 a ≤ x ≤ b ...
- Linux 设备驱动的固件载入
作为一个驱动作者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的很多地方的竞争是如此得强烈, 以至于甚至一点用作设备控制固件的 EEPROM 的成本制造商都不愿意花费. ...
- RTP时间戳
http://xingyunbaijunwei.blog.163.com/blog/static/7653806720126121014111/ ——————————————————————————— ...
- Control character in cookie value or attribute
在cookie中添加中文导致静态页面打不开, (1)先清除缓存 (2)使用escape()函数对中文进行编码,获取的时候在对中文进行解码unescape(). cookie.Set("sto ...