파이썬에서 날짜를 날짜 / 시간으로 변환
주어진 날짜의 자정을 얻는 것과 같이
date
a
datetime
를 파이썬으로 변환하는 기본 제공 방법이
datetime
있습니까? 반대의 변환이 용이 :
datetime
이
.date()
방법을.정말 수동으로 전화
datetime(d.year, d.month, d.day)
해야합니까?
(날짜, 시간)을 사용할 수 있습니다 . 당분간
datetime.time
자정으로 초기화 된 객체 를 만듭니다 .
from datetime import date from datetime import datetime dt = datetime.combine(date.today(), datetime.min.time())
당신이 언급하고 싫어하는 것이 가장 읽기 쉬운 방법이라고 생각하지만 몇 가지 방법이 있습니다.
>>> t=datetime.date.today() >>> datetime.datetime.fromordinal(t.toordinal()) datetime.datetime(2009, 12, 20, 0, 0) >>> datetime.datetime(t.year, t.month, t.day) datetime.datetime(2009, 12, 20, 0, 0) >>> datetime.datetime(*t.timetuple()[:-4]) datetime.datetime(2009, 12, 20, 0, 0)
등등-그러나 기본적으로 그것들은 모두
date
객체 로부터 정보를 적절히 추출 하고 그것을 위해 적절한 ctor 나 classfunction으로 다시 쟁기질하는 것에 달려 있습니다
datetime
.
허용 된 답변은 정확하지만 사용
datetime.min.time()
하는 것이 정확하지 않기 때문에 사용 하지 않는 것이 좋습니다. 그것이 당신에게 분명하다면, 당신에게 더 많은 힘. 나는 또한
timetuple
방법과 주문에 대한 의존성에 대해서도 같은 방식으로 생각합니다 .내 의견으로는
datetime
모듈 API에 대해 잘 알고 독자에게 의존하지 않고 이것을 읽을 수있는 가장 읽기 쉽고 명확한 방법 은 다음과 같습니다.
from datetime import date, datetime today = date.today() today_with_time = datetime( year=today.year, month=today.month, day=today.day, )
"명시적인 것이 묵시적인 것보다 낫다"
date.timetuple()
메소드와 압축 풀기 연산자를 사용할 수 있습니다
*
.
args = d.timetuple()[:6] datetime.datetime(*args)
오늘 2016 년에 팬더 타임 스탬프가 가장 깨끗한 솔루션을 제공한다고 생각합니다.
from datetime import date import pandas as pd d = date.today() pd.Timestamp(d)
타임 스탬프는 날짜 / 시간과 동일한 팬더이며 대부분의 경우 팬더와 호환됩니다. 검사:
from datetime import datetime isinstance(pd.Timestamp(d), datetime)
그러나 바닐라 날짜 시간을 정말로 원한다면 여전히 할 수 있습니다.
pd.Timestamp(d).to_datetime()
타임 스탬프는 시간대를 처리 할 때 다른 것보다 날짜 / 시간보다 훨씬 강력합니다. 실제로, 타임 스탬프는 매우 강력하여 문서화가 잘되어 있지 않은 것이 유감입니다 ...
아직 언급되지 않은 날짜에서 날짜 시간으로 변환하는 한 가지 방법 :
from datetime import date, datetime d = date.today() datetime.strptime(d.strftime('%Y%m%d'), '%Y%m%d')
당신은 사용할 수 있습니다
쉽게 그것을 만들 :
import date_converter my_datetime = date_converter.date_to_datetime(my_date)
팬더를 사용하여 일련의 날짜를 파이썬 날짜 시간으로 변환 :
dates = pd.DataFrame( {'date': pd.DatetimeIndex(start='2017-01-01', end='2017-01-5', freq='D')}) >>> dates date 0 2017-01-01 1 2017-01-02 2 2017-01-03 3 2017-01-04 4 2017-01-05 >>> pd.DatetimeIndex(dates['date']).to_pydatetime().tolist() [datetime.datetime(2017, 1, 1, 0, 0), datetime.datetime(2017, 1, 2, 0, 0), datetime.datetime(2017, 1, 3, 0, 0), datetime.datetime(2017, 1, 4, 0, 0), datetime.datetime(2017, 1, 5, 0, 0)]
먼저 날짜를 변환해야 할 수도 있습니다.
dates = pd.DataFrame( {'date': ['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04', '2017-01-05']}) dates['date'] = pd.DatetimeIndex(dates['date']) pd.DatetimeIndex(dates['date']).to_pydatetime().tolist()
to_datetime()
더 이상 사용되지 않습니다. 이제는
to_pydatetime()
빠른 것이 필요한 경우
datetime_object.date()
datetime 객체의 날짜를 제공합니다.
저는 파이썬 초보자입니다. 그러나이 코드는 내가 제공 한 지정된 입력을 datetime으로 변환하는 데 효과적이었습니다. 코드는 다음과 같습니다. 틀린 점 있으면 지적 해주세요.
import sys from datetime import datetime from time import mktime, strptime user_date = '02/15/1989' if user_date is not None: user_date = datetime.strptime(user_date,"%m/%d/%Y") else: user_date = datetime.now() print user_date
참고 URL :
https://stackoverflow.com/questions/1937622/convert-date-to-datetime-in-python
도움이 되겠다면 ↓↓↓ 배너 한번만 클릭 해주시면 감사합니다 ^^
'programing' 카테고리의 다른 글
PHP에서 @ 기호를 사용하는 것은 무엇입니까? (0) | 2020.02.09 |
---|---|
Base64 이미지 임베딩 (0) | 2020.02.09 |
Go에서 여러 줄로 된 문자열을 어떻게 작성합니까? (0) | 2020.02.09 |
iloc, ix 및 loc은 어떻게 다른가요? (0) | 2020.02.09 |
CSV 파일 데이터를 PostgreSQL 테이블로 가져 오는 방법은 무엇입니까? (0) | 2020.02.09 |