programing

파이썬에서 날짜를 날짜 / 시간으로 변환

new-time 2020. 2. 9. 19:57
반응형

파이썬에서 날짜를 날짜 / 시간으로 변환


주어진 날짜의 자정을 얻는 것과 같이

date

a

datetime

를 파이썬으로 변환하는 기본 제공 방법이

datetime

있습니까? 반대의 변환이 용이 :

datetime

.date()

방법을.정말 수동으로 전화

datetime(d.year, d.month, d.day)

해야합니까?


 

datetime.combine

(날짜, 시간)을 사용할 수 있습니다 . 당분간

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') 

당신은 사용할 수 있습니다

easy_date을

쉽게 그것을 만들 :

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



도움이 되겠다면 ↓↓↓ 배너 한번만 클릭 해주시면 감사합니다 ^^

반응형