Django中datetime處理方法的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Django中datetime處理方法的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計(jì),網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為千余家服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!

strftime<將date,datetime,timezone.now()類型處理轉(zhuǎn)化為字符串類型>

strftime()函數(shù)是用來格式化一個(gè)日期、日期時(shí)間和時(shí)間的函數(shù),支持date、datetime、time等類,把這些時(shí)間通過格式字符要求格式為字符串表示。

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ù)庫不一致的bug:

曾經(jīng)遇到過這樣的一個(gè)問題,從數(shù)據(jù)庫取出來的時(shí)間和前端顯示時(shí)間不一致的問題.后來經(jīng)過多出輸出時(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ù)庫的不一致,數(shù)據(jù)庫是以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)

感謝各位的閱讀!關(guān)于“Django中datetime處理方法的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

當(dāng)前標(biāo)題:Django中datetime處理方法的示例分析-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://bm7419.com/article32/dpdgsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)