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的情况下,它将是一 ...
随机推荐
- layui中当悬浮在select的option上面是给不同的提示;
$(document).on('mouseenter', '#paramsFather .layui-form-selected dl dd', function () { var data = $( ...
- 【Android】利用Fiddler进行抓包详解教程。抓取接口以及数据,可以抓真实安卓手机或者模拟器。
大家都知道抓包的方法很多.我这里给大家介绍介绍一种,利用fiddler进行抓包,当然比如Wireshark也可以抓包,我们这里不做介绍.我这里演示的是fiddler+天天模拟器,当然真实安卓手机也是一 ...
- FileZilla Server-Can’t access file错误解决方法
在某服务器上用FileZilla Server搭建了一个FTP服务器.开始使用没有发现任何问题,后来在向服务器传送大文件的时候,发现总是传输到固定的百分比的时候出现 ”550 can’t access ...
- html 基本标签 ---字体
<b> </b>加粗 <i> </i> 斜体 <del> </del> 删除 <ins> </ins> ...
- PHP学习笔记(14)班级和学生管理---学生
两个文件夹,一个班级cls,一个学生stu. 两个表,一个班级cls,一个学生stu. 每个文件夹里有7个php文件:主界面stu.php-------增add.php,insert.php----- ...
- linux vi/vim文本编辑
在linux环境下,我们用的最多的文本编辑命令就是vi了,vim是vi的增强版.学习vim时候整理了一下常用的命令行,一起学习. 介绍一下vim的三种常见状态模式: 命令模式,插入模式(编辑),正常模 ...
- GraphicsMagick +im4java高并发处理大型网站图片工具-图片剪切、遮蔽、水印添加之环境搭建
环境: centos 6.5 GraphicsMagick 下载安装 准备环镜: 需要依赖zlib图片操作函数库 下载地址:http://www.zlib.net/ 编译安装 .tar.gz cd z ...
- mui时间选择器选择今天以后的时间
<script type="text/javascript"> (function($) { $.init(); // var result = $('#result' ...
- C#调用ActiveX
ActiveX控件一般是用来在IE浏览器中配合使用的,有时也需要在例如WPF中调用,这样也是可以的. 一.引用-->右键-->添加引用 点击 COM,找到想要引用的类型库,名字不一定和IE ...
- Openstack(Kilo)安装系列之Keystone(四)
创建租间.用户.角色 一.To configure prerequisites 1.Configure the authentication token: export OS_TOKEN=ADMIN_ ...