Python에서 날짜를 datetime으로 변환
예를 들어 주어진 날짜의 자정에 대해 가져 오는 것과 같이 Python에서 a date
를 로 변환하는 내장 메서드가 있습니까? 반대의 변환이 용이 : 이 방법을.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
개체 에서 정보를 적절하게 추출 하고 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()
메서드 및 unpack 연산자를 사용할 수 있습니다 *
.
args = d.timetuple()[:6]
datetime.datetime(*args)
오늘 2016 년에는 pandas Timestamp에서 가장 깨끗한 솔루션을 제공한다고 생각합니다.
from datetime import date
import pandas as pd
d = date.today()
pd.Timestamp(d)
Timestamp는 datetime에 해당하는 pandas이며 대부분의 경우 교환 할 수 있습니다. 검사:
from datetime import datetime
isinstance(pd.Timestamp(d), datetime)
그러나 정말로 바닐라 날짜 시간을 원한다면 다음과 같이 할 수 있습니다.
pd.Timestamp(d).to_datetime()
Timestamps are a lot more powerful than datetimes, amongst others when dealing with timezones. Actually, Timestamps are so powerful that it's a pity they are so poorly documented...
One way to convert from date to datetime that hasn't been mentioned yet:
from datetime import date, datetime
d = date.today()
datetime.strptime(d.strftime('%Y%m%d'), '%Y%m%d')
You can use easy_date to make it easy:
import date_converter
my_datetime = date_converter.date_to_datetime(my_date)
Using pandas to convert a series of dates to python datetimes:
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)]
One may first need to convert the dates:
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()
is deprecated, now it's called to_pydatetime()
If you need something quick, datetime_object.date()
gives you a date of a datetime object.
I am a newbie to Python. But this code worked for me which converts the specified input I provide to datetime. Here's the code. Correct me if I'm wrong.
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.10.04 |
---|---|
Base64 이미지 포함 (0) | 2020.10.04 |
Go에서 여러 줄 문자열을 어떻게 작성합니까? (0) | 2020.10.04 |
iloc, ix 및 loc은 어떻게 다릅니 까? (0) | 2020.10.04 |
CSV 파일 데이터를 PostgreSQL 테이블로 가져 오는 방법은 무엇입니까? (0) | 2020.10.04 |