【Python】Django 时间字段 最佳实践
. python datetime
from datetime import datetime
datetime.now()
datetime.utcnow() from datetime import datetime,timezone,timedelta
dt = datetime.utcnow()
print(dt)
dt = dt.replace(tzinfo=timezone.utc)
print(dt)
tzutc_8 = timezone(timedelta(hours=))
local_dt = dt.astimezone(tzutc_8)
print(local_dt) .django timezone
from django.utils import timezone
timezone.now() from datetime import datetime
datetime.now()
import pytz #pytz.country_timezones('cn')[0]
#u'Asia/Shanghai' tz = pytz.timezone(pytz.country_timezones('cn')[0])
datetime.now(tz)
#datetime.datetime(2016, 10, 18, 14, 40, 24, 950672, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>) datetime.now(tz=None)
datetime.datetime(2016, 10, 18, 6, 40, 43, 725325) 参考资料:
https://segmentfault.com/q/1010000000148274
http://ar.newsmth.net/thread-f9b7985b2132c6.html
http://www.zhihu.com/question/27934615
http://stackoverflow.com/questions/18622007/runtimewarning-datetimefield-received-a-naive-datetime
http://www.cnblogs.com/lhj588/archive/2012/04/23/2466653.html
http://www.360doc.com/content/14/0626/18/8504707_390057412.shtml
Model定义:
class Test(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=, unique=True, db_index=True)
#create_time = models.DateTimeField(auto_now_add=True, db_index=True)
#update_time = models.DateTimeField(auto_now=True, db_index=True)
create_time = models.DateTimeField(default=timezone.now, db_index=True)
update_time = models.DateTimeField(default=timezone.now)
description = models.TextField(null=False, blank=True)
datetime转化为时间戳:
from datetime import datetime
from django.utils import timezone
from django.utils.timezone import utc time.mktime(timezone.now().timetuple())
时间戳转化为datetime:
datetime.utcfromtimestamp(1476321626.0).replace(tzinfo=utc)
参考资料:
http://stackoverflow.com/questions/13225890/django-default-timezone-now-saves-records-using-old-time
时间戳与datetime相互转换:http://blog.sina.com.cn/s/blog_771875550101jfw2.html
http://tool.chinaz.com/tools/native_ascii.aspx
http://tool.lu/timestamp
https://my.oschina.net/u/1032854/blog/198179
【Python】Django 时间字段 最佳实践的更多相关文章
- Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)
Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt) 作者: Desmond Chen,发布日期: 2014-05- ...
- python高级编程之最佳实践,描述符与属性01
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #最佳实践 """ 为了避免前面所有的 ...
- Django 1.6 最佳实践: django项目的服务器自动化部署(转)
原文:http://www.weiguda.com/blog/41/ 当我们设置服务器时, 不应该每次都使用ssh登录服务器, 再按照记忆一步一步的配置. 因为这样实在是太容易忘记某些步骤了. 服务器 ...
- Python Django ORM 字段类型、参数、外键操作
AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary ...
- Django 1.6 最佳实践: 如何正确使用 Signal(转)
原文:http://www.weiguda.com/blog/38/ 如何正确的使用signal: 简单回答是: 在其他方法无法使用的情况下, 才最后考虑使用signal. 因为新的django开发人 ...
- Django REST Framework 最佳实践
Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs. 为什么要使用REST framework? - 在线可视的API,对于赢得你的开发者们十分有用 - 验 ...
- django 强制登录最佳实践
参考: https://python-programming.courses/recipes/django-require-authentication-pages/ 即通过中间件来做AOP拦截.不用 ...
- 【转】Python开发指南:最佳实践精选
总体原则 价值 “为别人开发你也想要使用的工具.” ——Kenneth Reitz "简洁总是胜过可用." ——Pieter Hintjens "满足90%的使用场景.忽 ...
- Django 1.6 最佳实践: 如何设置和使用 Log(转)
原文: http://www.weiguda.com/blog/37/ 任何参与过高要求的大型项目的编程人员都明白设置适当的log等级, 创建不同的logger, 记录重要事件的重要性. 正确的设置和 ...
随机推荐
- grid-css
.fil-container { width: 100%; max-width: 75rem; margin-right: auto; margin-left: auto; padding-left: ...
- JS实现Ajax---例:获取服务器时间
Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...
- UVA 10391 stl
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- 缓存插件 Spring支持EHCache缓存
Spring仅仅是提供了对缓存的支持,但它并没有任何的缓存功能的实现,spring使用的是第三方的缓存框架来实现缓存的功能.其中,spring对EHCache提供了很好的支持. 在介绍Spring的缓 ...
- 【Aizu 2305】Beautiful Currency
题 题意 给你n个货币价格,然后通过调整一些货币的大小,使得所有比自己小的货币都是该货币的约数,调整前第 i 货币为a,调整后为b 那么变化率为 ri=|a-b|/a ,总变化率为max(ri).求最 ...
- Swift开发学习-02 变量和常量
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用,并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作, ...
- HD 2177(威佐夫博弈 入门)
取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- --------------------------PHP中访问数据库时带来的响应速度的问题解决-------------------------------------
----------------------------------------------------------------上图是秒,下图是毫秒比较TTFB-------------------- ...
- C标准函数库(常用部分)
- 检测端口状态的python脚本
#!/usr/bin/env python import os,subprocess,socket,time,sys from urllib import urlencode from socket ...