파이썬에서 모듈을 만들고 있는데, 2012 년 2 월 13 일을 의미하는 20120213
과 같은 정수 형식의 날짜를 받고 있습니다. 이제이 정수 형식의 날짜를 파이썬 날짜 객체로 변환하고 싶습니다.날짜 개체 파이썬으로 정수를 변환하는 방법?
또한 같은 형식으로 날짜 값을 받기 위해 정수 형식의 날짜 수를 뺄/추가 할 수있는 방법이 있습니까? 20120213
에서 30 일을 뺀 다음 응답을 20120114
으로받는 것과 같습니다.
파이썬에서 모듈을 만들고 있는데, 2012 년 2 월 13 일을 의미하는 20120213
과 같은 정수 형식의 날짜를 받고 있습니다. 이제이 정수 형식의 날짜를 파이썬 날짜 객체로 변환하고 싶습니다.날짜 개체 파이썬으로 정수를 변환하는 방법?
또한 같은 형식으로 날짜 값을 받기 위해 정수 형식의 날짜 수를 뺄/추가 할 수있는 방법이 있습니까? 20120213
에서 30 일을 뺀 다음 응답을 20120114
으로받는 것과 같습니다.
가 나는 변환을 위해 다음과 같은 간단한 방법 제안 :
date += timedelta(days=10)
date -= timedelta(days=5)
: 추가/일의 인해 임의 양 (. 초는 너무 BTW 일) 빼기에
from datetime import datetime, timedelta
s = "20120213"
# you could also import date instead of datetime and use that.
date = datetime(year=int(s[0:4]), month=int(s[4:6]), day=int(s[6:8]))
을 다음을 수행 할 수
그리고 사용하여 다시 변환 :
s = date.strftime("%Y%m%d")
전환하기 ERT 안전하게 문자열로 정수, 사용
s = "{0:-08d}".format(i)
이 당신의 문자열은 올해 (하지만 재미가 될 수 부정적 년)보다 작은 천 경우에도 팔 개 많은 charecters 길고 왼쪽 패딩 제로에 있음을 보장합니다.
또한 참조 : datetime objects,이 질문은 이미 대답하지만,이 질문을보고 다른 사람의 이익을 위해 나는 다음과 같은 제안을 추가 할 timedelta objects
대신의 일을 당신이 위의 제안으로 자신을 깔끔히 strptime()을 (IMHO) 읽기 쉽고 아마도이 변환을 수행하는 기본 방법 일 수도 있습니다. 여기
import datetime
s = "20120213"
s_datetime = datetime.datetime.strptime(s, '%Y%m%d')
는 제가 생각하는 (유형 힌트, 파이썬 3) 질문에 대한 대답입니다 :
는from datetime import date
def int2date(argdate: int):
"""
If you have date as an integer, use this method to obtain a datetime.date object.
Parameters
----------
argdate : int
Date as a regular integer value (example: 20160618)
Returns
-------
dateandtime.date
A date object which corresponds to the given value `argdate`.
"""
year = int(argdate/10000)
month = int((argdate % 10000)/100)
day = int(argdate % 100)
return date(year, month, day)
print(intdate2date(20160618))
위의 코드는 예상 2016-06-18
을 생산하고 있습니다.
thnx :) 해피 코딩 ... – Uday0119
하지만 내가받는 문자는 문자열이 아닙니다. 그것의 정수 – Uday0119
잘 아니에요, 당신은 문자열로 정수를 변환 str (x)를 사용할 수 있습니다. – Peter