Django에서 datetime 처리 방법(strftime/strptime)

4610 단어
이 글은 주로 Django에서datetime의 처리 방식(strftime/strptime)을 소개했는데 본고는 여러분에게 매우 상세하게 소개했고 참고 가치가 있기 때문에 필요하신 분들은 참고할 수 있습니다.
strftimenow()            >

4strftime() 함수는 날짜, 날짜, 시간과 시간을 포맷하는 함수로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('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) 

두 개의 버그가 발생했습니다:
1: 데이터베이스와 시간이 일치하지 않는 버그를 표시합니다:
일찍이 이러한 문제에 부딪힌 적이 있다. 데이터베이스에서 꺼낸 시간과 전단 디스플레이 시간이 일치하지 않는 문제.나중에 출력 시간 곳곳에서 변환된 정보를 더 많이 냈는데, 마지막에 코드를 쓴 동료가 이런 것을 사용했다는 것을 알게 되었다.
one[‘time’] = one[‘time’].strftime ('%Y-%m-%d%H:%I:%S')%I는 12시간제 변환 형식입니다.이렇게 형식을 변환할 때 오류를 보고하지 않지만 출력의 결과는 데이터베이스와 일치하지 않을 것이다. 데이터베이스는 24시간 단위로 기록된 시간이다.
 :datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=) is not JSON serializable

이런 오류 메시지가 나타나면...
datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=) is not JSON serializable

이것은datetime 데이터를 json에 직접 넣는 데 나타나는 오류 정보입니다.제이슨에 직접 넣을 수는 없어요.
해결 방법은:strftime를 사용하여 서열화할 수 있다.
.strftime("%Y-%m-%d %H:%M:%S")

다음은 파이톤:time,strftime,strptime의 구체적인 설명을 보겠습니다.
가장 자주 쓰는 시간.time()는 초 단위의 부동점수를 반환합니다.그러나strftime 처리의 유형은time입니다.struct_time, 실제로는 하나의 tuple이다.strptime와localtime는 모두 이 유형을 되돌려줍니다.
>>> import time
>>> t = time.time()
>>> t
1202872416.4920001
>>> type(t)
'float'>
>>> t = time.localtime()
>>> t
(2008, 2, 13, 10, 56, 44, 2, 44, 0)
>>> type(t)
'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)

좋은 웹페이지 즐겨찾기