42.00:00:00
这是来自PowerShell的TimeSpan值。
我应该如何将上述字符串转换为Python DateTime?我实际上只需要字符串中的日期值。以下代码不适用于此:
strptime("42.00:00:00", "%d.%H:%M:%S")
我假设它是因为这一天超出了一天的范围。
答案 0 :(得分:0)
如果您只需要日值,则可以在句点上拆分字符串,然后取第一个元素。
timespan = "42.00:00:00"
num_days = int(timespan.split(".", 1)[0])
您尝试进行的转换中的问题是PowerShell Timespan是一段时间,并不等同于DateTime对象,尽管它代表特定的日期和时间。相反,您希望将其转换为timedelta object,这也代表了一段时间。
因此,从此代码中,您可以使用以下内容创建该对象:
from datetime import timedelta
timedelta(days=num_days)