将工作日名称字符串转换为日期时间

我有以下日期(作为对象格式):Tue 31 Jan在熊猫系列中。

我尝试将其更改为: 31/01/2019

请问,我怎样才能做到这一点?我或多或少地理解,当字符串日期更清晰(如)时,pandas.Datetime可以轻松转换,6/1/1930 22:00但在我的情况下,当它们是工作日名称时则不然。

感谢您的帮助。


MMMHUHU
浏览 172回答 3
3回答

偶然的你

这是实现相同结果的两种替代方法。方法一:使用 datetime 模块from datetime import datetimedatetime_object = datetime.strptime('Tue 31 Jan', '%a %d %b')print(datetime_object) # outputs 1900-01-31 00:00:00如果您提供了类似的 Year 参数Tue 31 Jan 2018,则此代码将起作用。from datetime import datetimedatetime_object = datetime.strptime('Tue 31 Jan 2018', '%a %d %b %Y')print(datetime_object) # outputs 2018-01-31 00:00:00以这样的格式打印结果日期31/01/2019。您可以使用print(datetime_object.strftime("%d/%m/%Y")) # outputs 31/01/2018以下是 datetime 对象可用的所有可能的格式选项。方法二:使用 dateutil.parser此方法会自动使用当前年份填充 Year 参数。from dateutil import parserstring = "Tue 31 Jan"date = parser.parse(string)print(date) # outputs 2018-01-31 00:00:00

犯罪嫌疑人X

转换为datetime对象如果您想使用该datetime模块,您可以通过执行以下操作来获得年份:import datetime as dtd = dt.datetime.strptime('Tue 31 Jan', '%a %d %b').replace(year=dt.datetime.now().year)这是以您的格式获取日期,但以1900可靠的方式将默认年份替换为当前年份。这类似于其他答案,但使用内置replace方法而不是连接字符串。输出要从新datetime对象获得所需的输出,您可以执行以下操作:>>> d.strftime('%d/%m/%Y')'31/01/2018'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python