Django中datetime的處理方法(strftime/strptime)
strftime<將date,datetime,timezone.now()類型處理轉(zhuǎn)化為字符串類型>
strftime()函數(shù)是用來(lái)格式化一個(gè)日期、日期時(shí)間和時(shí)間的函數(shù),支持date、datetime、time等類,把這些時(shí)間通過(guò)格式字符要求格式為字符串表示。
import datatime datatime.datatime.now()
或者
from datatime import datatime datatime.now()
我的輸出轉(zhuǎn)化格式
strftime('%Y-%m-%d %H:%I:%S')
效果類似于2018-07-02 23:18:20這樣.
strptime<將字符串處理轉(zhuǎn)換成期望類型的數(shù)據(jù)>
strptime()函數(shù)就是從字符串表示的日期時(shí)間按格式化字符串要求轉(zhuǎn)換為相應(yīng)的日期時(shí)間。
d2 = datetime.strptime('2018-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
轉(zhuǎn)化對(duì)照的格式:
轉(zhuǎn)成字符串
%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時(shí)制小時(shí)數(shù)(0-23)
%I 12小時(shí)制小時(shí)數(shù)(01-12) 十二小時(shí)制
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
遇到的兩個(gè)bug:
一:顯示時(shí)間和數(shù)據(jù)庫(kù)不一致的bug:
曾經(jīng)遇到過(guò)這樣的一個(gè)問(wèn)題,從數(shù)據(jù)庫(kù)取出來(lái)的時(shí)間和前端顯示時(shí)間不一致的問(wèn)題.后來(lái)經(jīng)過(guò)多出輸出時(shí)間各處轉(zhuǎn)換的信息,最后發(fā)現(xiàn),因?yàn)橹皩懘a的同事,使用了這樣的
one['time'] = one['time'].strftime('%Y-%m-%d %H:%I:%S')
%I是十二小時(shí)制的轉(zhuǎn)換形式.這樣轉(zhuǎn)換格式的時(shí)候,雖然不會(huì)報(bào)錯(cuò),可是輸出的結(jié)果會(huì)和數(shù)據(jù)庫(kù)的不一致,數(shù)據(jù)庫(kù)是以24小時(shí)為單位記錄的時(shí)間.
二:datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=<UTC>) is not JSON serializable
出現(xiàn)這樣的錯(cuò)誤信息..
datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=<UTC>) is not JSON serializable
這是出現(xiàn)在將datetime數(shù)據(jù)直接放在json里出現(xiàn)的錯(cuò)誤信息.不能直接放在json里.
解決辦法是:可以使用strftime進(jìn)行序列化,如下面的方法
.strftime("%Y-%m-%d %H:%M:%S")
下面看下Python:time, strftime和strptime的具體講解
最常用的time.time()返回的是一個(gè)浮點(diǎn)數(shù),單位為秒。但strftime處理的類型是time.struct_time,實(shí)際上是一個(gè)tuple。strptime和localtime都會(huì)返回這個(gè)類型。
>>> import time >>> t = time.time() >>> t 1202872416.4920001 >>> type(t) <type 'float'> >>> t = time.localtime() >>> t (2008, 2, 13, 10, 56, 44, 2, 44, 0) >>> type(t) <type 'time.struct_time'> >>> time.strftime('%Y-%m-%d', t) '2008-02-13' >>> time.strptime('2008-02-14', '%Y-%m-%d') (2008, 2, 14, 0, 0, 0, 3, 45, -1)
總結(jié)
以上所述是小編給大家介紹的Django中datetime的處理方法(strftime/strptime),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
php 利用array_slice函數(shù)獲取隨機(jī)數(shù)組或前幾條數(shù)據(jù)
這篇文章主要介紹了php 利用array_slice函數(shù)獲取隨機(jī)數(shù)組或前幾條數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2015-09-09Yii中CGridView實(shí)現(xiàn)批量刪除的方法
這篇文章主要介紹了Yii中CGridView實(shí)現(xiàn)批量刪除的方法,實(shí)例分析了CGridView的相關(guān)設(shè)置,前臺(tái)JS調(diào)用與后臺(tái)Action具體功能實(shí)現(xiàn)的技巧,需要的朋友可以參考下2015-12-12新浪微博OAuth認(rèn)證和儲(chǔ)存的主要過(guò)程詳解
本文給大家介紹的是參考Twitter的認(rèn)證過(guò)程實(shí)現(xiàn)的新浪微博OAuth認(rèn)證和儲(chǔ)存的主要過(guò)程詳解2015-03-03淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢(shì)
本篇文章主要介紹了淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢(shì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11laravel框架關(guān)于搜索功能的實(shí)現(xiàn)
本文是作者整理的關(guān)于laravel框架搜索功能的實(shí)現(xiàn)原理,并附上了詳細(xì)代碼,有需要的小伙伴請(qǐng)持續(xù)關(guān)注!2018-03-03Laravel生命周期啟動(dòng)(從創(chuàng)建應(yīng)用實(shí)例到注冊(cè)基礎(chǔ)服務(wù))過(guò)程解析
這篇文章主要介紹了Laravel生命周期啟動(dòng)過(guò)程解析,從創(chuàng)建應(yīng)用實(shí)例到注冊(cè)基礎(chǔ)服務(wù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10PHP編寫daemon process詳解及實(shí)例代碼
這篇文章主要介紹了PHP編寫daemon process詳解的相關(guān)資料,并附實(shí)例代碼,有需要的小伙伴可以參考下2016-09-09Thinkphp框架 表單自動(dòng)驗(yàn)證登錄注冊(cè) ajax自動(dòng)驗(yàn)證登錄注冊(cè)
這篇文章主要介紹了Thinkphp框架 表單自動(dòng)驗(yàn)證登錄注冊(cè) ajax自動(dòng)驗(yàn)證登錄注冊(cè)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12