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

不言
發布: 2023-04-02 08:46:01
原創
2555 人瀏覽過

這篇文章主要介紹了Django中datetime的處理方式(strftime/strptime),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

#strftime<將date,datetime,timezone.now()型別處理轉換為字串型別>

  strftime()函數是用來格式化一個日期、日期時間和時間的函數,支援date、datetime、time等類,把這些時間透過格式字元要求格式為字串表示。

import datatime
datatime.datatime.now()
登入後複製

from datatime import datatime
datatime.now()
登入後複製

我的輸出轉換格式

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

效果類似2018-07-02 23:18:20這樣.

strptime<將字串處理轉換成期望型別的資料>

  strptime()函數就是從字串表示的日期時間依格式化字串要求轉換為對應的日期時間。

d2 = datetime.strptime(&#39;2018-03-02 17:41:20&#39;, &#39;%Y-%m-%d %H:%M:%S&#39;)
登入後複製

轉換對照的格式: 

轉成字串

#%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:

  曾經遇到過這樣的一個問題,從資料庫取出來的時間和前端顯示時間不一致的問題.後來經過多出輸出時間各處轉換的信息,最後發現,因為之前寫代碼的同事,使用了這樣的

one[&#39;time&#39;] = one[&#39;time&#39;].strftime(&#39;%Y-%m-%d %H:%I:%S&#39;)
登入後複製

%I是十二小時制的轉換形式.這樣轉換格式的時候,雖然不會報錯,可是輸出的結果會和數據庫的不一致,數據庫是以24小時為單位記錄的時間.

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

出現這樣的錯誤訊息..

datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=<UTC>) is not JSON serializable
登入後複製

 這是出現在將datetime資料直接放在json裡出現的錯誤訊息.不能直接放在json裡.

解決辦法是:可以使用strftime進行序列化,如下面的方法

.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)
<type &#39;float&#39;>
>>> t = time.localtime()
>>> t
(2008, 2, 13, 10, 56, 44, 2, 44, 0)
>>> type(t)
<type &#39;time.struct_time&#39;>
>>> time.strftime(&#39;%Y-%m-%d&#39;, t)
&#39;2008-02-13&#39;
>>> time.strptime(&#39;2008-02-14&#39;, &#39;%Y-%m-%d&#39;)
(2008, 2, 14, 0, 0, 0, 3, 45, -1)
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

ThinkPHP框架使用redirect實作頁面重定向的方法實例講解

php框架CodeIgniter使用redis的方法講解

#

以上是Django中datetime的處理方法(strftime/strptime)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!