Django中datetime的处理方法(strftime/strptime)

strftime<将date,datetime,timezone.now()类型处理转化为字符串类型>

  strftime()函数是用来格式化一个日期、日期时间和时间的函数支持date、datetime、time等类,把这些时间通过格式字符要求格式为字符串表示。

rush:PHP;"> import datatime datatime.datatime.Now()

或者

rush:PHP;"> from datatime import datatime datatime.Now()

我的输出转化格式

strftime('%Y-%m-%d %H:%I:%s')

效果类似于2018-07-02 23:18:20这样.

strptime<将字符串处理转换成期望类型的数据>

  strptime()函数就是从字符串表示的日期时间按格式化字符串要求转换为相应的日期时间。

rush:PHP;"> d2 = datetime.strptime('2018-03-02 17:41:20','%Y-%m-%d %H:%M:%s')

转化对照的格式: 

转成字符串

%y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) 十二小时制 %M 分钟数(00=59) %s 秒(00-59) 

遇到的两个bug:

一:显示时间和数据库不一致的bug:

  曾经遇到过这样的一个问题,从数据库取出来的时间和前端显示时间不一致的问题.后来经过多出输出时间各处转换的信息,最后发现,因为之前写代码的同事,使用了这样的

rush:PHP;"> one['time'] = one['time'].strftime('%Y-%m-%d %H:%I:%s')

%I是十二小时制的转换形式.这样转换格式的时候,虽然不会报错,可是输出的结果会和数据库的不一致,数据库是以24小时为单位记录的时间.

二:datetime.datetime(2018,2,18,25,29,tzinfo=) is not JSON serializable

出现这样的错误信息..

rush:PHP;"> datetime.datetime(2018,tzinfo=) is not JSON serializable

 这是出现在将datetime数据直接放在json里出现的错误信息.不能直接放在json里.

解决办法是:可以使用strftime进行序列化,如下面的方法

rush:PHP;"> .strftime("%Y-%m-%d %H:%M:%s")

下面看下Python:time,strftime和strptime的具体讲解

最常用的time.time()返回的是一个浮点数,单位为秒。但strftime处理的类型是time.struct_time,实际上是一个tuple。strptime和localtime都会返回这个类型。

>> import time >>> t = time.time() >>> t 1202872416.4920001 >>> type(t) >>> t = time.localtime() >>> t (2008,13,10,56,44,0) >>> type(t) >>> time.strftime('%Y-%m-%d',t) '2008-02-13' >>> time.strptime('2008-02-14','%Y-%m-%d') (2008,14,3,45,-1)

以上所述是小编给大家介绍的Django中datetime的处理方法(strftime/strptime),希望对大家有所帮助。程序员遇到问题都会上(编程之家jb51.cc)查找问题解答方法!如果觉得站点还不错,随手转发给程序员朋友一下!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


服务器优化必备:深入了解PHP8底层开发原理
Golang的网络编程:如何快速构建高性能的网络应用?
Golang和其他编程语言的对比:为什么它的开发效率更高?
PHP8底层开发原理揭秘:如何利用新特性创建出色的Web应用
将字符重新排列以形成回文(如果可能)在C++中
掌握PHP8底层开发原理和新特性:创建高效可扩展的应用程序
服务器性能优化必学:掌握PHP8底层开发原理
PHP8新特性和底层开发原理详解:优化应用性能的终极指南
将 C/C++ 代码转换为汇编语言
深入研究PHP8底层开发原理:创建高效可扩展的应用程序
C++程序查找法向量和迹
PHP8底层开发原理实战指南:提升服务器效能
重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
Golang的垃圾回收:为什么它可以减少开发人员的负担?
C++程序:将一个数组的所有元素复制到另一个数组中
Golang:构建智能系统的基石
为什么AI开发者应该关注Golang?
在C和C++中,逗号(comma)的用法是用来分隔表达式或语句
PHP8底层开发原理解析及新特性应用实例
利用PHP8底层开发原理解析新特性:如何构建出色的Web应用