[Django] Django에서datetime 처리 (strftime/strptime)

3330 단어 Django 개발
  • strftime
  • strptime

  • 4
  • 두 개의 버그:
    4
  • 1: 디스플레이 시간과 데이터베이스가 일치하지 않는 버그:
  • 4
  • 2:datetime.datetime(2018, 2, 2, 18, 25, 29, tzinfo=) is not JSON serializable



  • strftime
    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('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(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 형식의 데이터로 전단에 되돌려줄 때 발생하는 오류 정보입니다.날짜 타임을 json으로 직접 바꿀 수 없습니다.
    해결 방법은 다음과 같이 strftime을 사용하여 서열화할 수 있습니다.
    record_time=record_time.strftime("%Y-%m-%d %H:%M:%S")

    이런 방법으로 리코더를...time를str 형식으로 바꾸면 됩니다.

    좋은 웹페이지 즐겨찾기