如何在Python/Pandas中将变量设置为"今天"日期

Ale*_*xis 32 python formatting datetime date pandas

我试图将变量设置为等于今天的日期.

我查了一下,发现了一篇相关的文章:

将今天日期设置为模型中的默认值

但是,这并没有特别回答我的问题.

我使用了建议:

dt.date.today
Run Code Online (Sandbox Code Playgroud)

但是之后

import datetime as dt     
date = dt.date.today
print date
 <built-in method today of type object at 0x000000001E2658B0>

 Df['Date'] = date
Run Code Online (Sandbox Code Playgroud)

我没有得到我真正想要的东西作为今天日期的干净日期格式......月/日/年.

如何创建今天的变量以便我在DataFrame中输入该变量?

dir*_*jot 62

你提到你正在使用熊猫(在你的标题中).如果是这样,则无需使用外部库,您可以使用to_datetime

>>> pandas.to_datetime('today')
Timestamp('2015-10-14 00:00:00')
Run Code Online (Sandbox Code Playgroud)

这将始终返回今天午夜的日期,无论实际时间如何(但猜猜论证now会做什么).

  • `pd.to_datetime('now')`以获得时间. (5认同)
  • `curr_date = pd.to_datetime('today').date()` 获取日期 (4认同)
  • 不使用新版本格式化:( (3认同)
  • 在熊猫0.23.4中,_'today'_提供当前时区的当前时间戳(不仅是日期),_'now'_提供UTC的当前时间戳。因此,to_datetime的行为已更改。有人知道这种新行为是否会持续下去?[源代码](https://github.com/pandas-dev/pandas/blob/v0.23.4/pandas/_libs/tslibs/conversion.pyx) (3认同)
  • @NickNick .date() 将转换为 datetime.date。要将日期保留为时间戳,请使用 curr_date = pd.to_datetime('today').normalize() (3认同)
  • 给出自 v 0.23 以来的时间戳:`2019-04-26 15:31:27.103623` (2认同)

jon*_*rpe 42

如果你想要一个字符串mm/dd/yyyy而不是datetime对象,你可以使用strftime(字符串格式时间):

>>> dt.datetime.today().strftime("%m/%d/%Y")
                   # ^ note parentheses
'02/12/2014'
Run Code Online (Sandbox Code Playgroud)

  • @JacksonTale确实; OP已经提出14个问题,只接受了一个答案.他们甚至没有接受自己! (4认同)
  • 也许他只是有很高的标准.大声笑 (2认同)

Col*_*ond 7

使用熊猫: pd.Timestamp("today").strftime("%m/%d/%Y")

  • 并且请尽可能使用 ISO `pd.Timestamp('today').strftime("%Y-%m-%d")` (4认同)

Jar*_*ber 5

您还可以查看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')
Run Code Online (Sandbox Code Playgroud)


小智 5

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'

strftime格式