Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JS Date를 Python 날짜 객체로 변환하는 방법은 무엇입니까?


AJAX 요청이나 IPC 메시지(nodejs에서)와 같은 네트워크 연결을 통해 보낼 때 Javascript 날짜를 Python 날짜 개체로 변환하려고 할 것입니다. 이 표현은 문자열 형식이며 원하는 형식으로 보내도록 선택할 수 있습니다. strptime 함수를 사용하여 문자열을 다시 Python 날짜 객체로 구문 분석할 수 있습니다. 날짜 및 시간 개체를 보내고 받는 ISO 8061과 같은 표준화된 방법이 있습니다. 이 경우 간단한 예를 들어보면 조금 더 이해가 쉬울 것입니다.

예시

import datetime
# The string that you get from Javascript
date_string = '2017-12-31'
date_format = '%Y-%m-%d'
try:
  date_obj = datetime.datetime.strptime(date_string, date_format)
  print(date_obj)
except ValueError:
  print("Incorrect data format, should be YYYY-MM-DD")

출력

이 결과는 다음과 같습니다.

2017-12-31 00:00:00

다른 많은 지시문을 사용하여 날짜를 구문 분석할 수 있습니다. 다음은 strptime()의 형식 문자열이 지원하는 지시문입니다.

지시어
의미
%a
로케일의 축약된 요일 이름입니다.
%A
로케일의 전체 요일 이름.
%b
로케일의 축약된 월 이름입니다.
%B
로케일의 전체 월 이름.
%c
로케일의 적절한 날짜 및 시간 표현.
%d
십진수 [01,31]로 된 월의 일.
%H
십진수 [00,23]의 시(24시간제).
%I
십진수로 표시되는 시(12시간제) [01,12].
%j
10진수 [001,366]로 표시되는 일.
%m
십진수로 표시한 월 [01,12].
%M
분은 십진수 [00,59]로 표시됩니다.
%p
로케일은 AM 또는 PM에 해당합니다.
%S
십진수 [00,61]의 초.
%U
10진수 [00,53]로 표시된 연도의 주 번호(일요일이 주의 첫 번째 요일)입니다. 새해 첫 번째 일요일 이전의 모든 날은 0주에 있는 것으로 간주됩니다.
%w
10진수로 나타낸 요일 [0(일요일),6].
%W
10진수 [00,53]으로 표시된 연도의 주 번호(월요일이 주의 첫 번째 요일)입니다. 새해 첫 번째 월요일 이전의 모든 날은 0주에 있는 것으로 간주됩니다.
%x
로케일의 적절한 날짜 표현.
%X
로케일의 적절한 시간 표현.
%y
십진수로 세기가 없는 연도 [00,99].
%Y
세기를 십진수로 표시한 연도.
%Z
시간대 이름(시간대가 없으면 문자 없음).
%%
리터럴 "%" 문자.