我正在尝试将变量设置为等于今天的日期。
我查了一下,发现了一篇相关的文章:
Set today date as default value in the model
然而,这并没有特别回答我的问题。
我使用了建议:
dt.date.today
但
之后import datetime as dt
date = dt.date.today
print date
<built-in method today of type object at 0x000000001E2658B0>
Df['Date'] = date
我没有得到我真正想要的东西作为今天日期的干净日期格式......在月/日/年。
如何创建今天的变量以便我在DataFrame中输入该变量?
答案 0 :(得分:54)
你提到你正在使用熊猫(在你的标题中)。如果是这样,则无需使用外部库,您只需使用to_datetime
>>> pandas.to_datetime('today')
Timestamp('2015-10-14 00:00:00')
这将始终返回今天午夜的日期,无论实际时间如何(但猜猜论证now
将会做什么)。
答案 1 :(得分:42)
如果您想要字符串mm/dd/yyyy
而不是datetime
对象,则可以使用strftime
(字符串格式时间):
>>> dt.datetime.today().strftime("%m/%d/%Y")
# ^ note parentheses
'02/12/2014'
答案 2 :(得分:7)
使用pandas:pd.Timestamp("today").strftime("%m/%d/%Y")
答案 3 :(得分:3)
我遇到了同样的问题所以尝试了很多东西 但最后这是解决方案。
import time
print (time.strftime("%d/%m/%Y"))
答案 4 :(得分:2)
Python3 +中的简单解决方案:
import time
todaysdate = time.strftime("%d/%m/%Y")
#with '.' isntead of '/'
todaysdate = time.strftime("%d.%m.%Y")
答案 5 :(得分:2)
import datetime
def today_date():
'''
utils:
get the datetime of today
'''
date=datetime.datetime.now().date()
date=pd.to_datetime(date)
return date
Df['Date'] = today_date()
这可以安全地用于pandas数据帧。
答案 6 :(得分:1)
pd.datetime.now()。strftime(“%d /%m /%Y”)
这将输出为'11 / 02/2019'
如果需要,您可以使用添加时间
pd.datetime.now()。strftime(“%d /%m /%Y%I:%M:%S”)
这将输出为'11 / 02/2019 11:08:26'
答案 7 :(得分:0)
您还可以查看pandas.Timestamp
,其中包括.now
和.today
之类的方法。
与pandas.to_datetime('now')
不同,pandas.Timestamp.now()
不会默认为UTC:
import pandas as pd
pd.Timestamp.now() # will return California time
# Timestamp('2018-12-19 09:17:07.693648')
pd.to_datetime('now') # will return UTC time
# Timestamp('2018-12-19 17:17:08')
答案 8 :(得分:0)
已经有很多不错的答案,但要回答关于“任何”时期的更普遍的问题:
在熊猫中使用 function for time periods。对于日,使用“D”,对于“M”月等:
>pd.Timestamp.now().to_period('D')
Period('2021-03-26', 'D')
>p = pd.Timestamp.now().to_period('D')
>p.to_timestamp().strftime("%Y-%m-%d")
'2021-03-26'
注意:如果需要考虑UTC,可以使用:pd.Timestamp.utcnow().tz_localize(None).to_period('D')
...