2024-04-26 21:06:29 发布
网友
给定一个看起来像"Hours:5 Minutes:34 Seconds:28"或"Minutes:34 Seconds:28"的字符串,是否有任何pythonic方法将其转换为datetime对象?如果有更简单的方法,我不想使用正则表达式。你知道吗
"Hours:5 Minutes:34 Seconds:28"
"Minutes:34 Seconds:28"
datetime
可以使用^{}将字符串转换为datetime对象,如下所示:
>>> from datetime import datetime >>> date_object = datetime.strptime('Hours:5 Minutes:34 Seconds:28', 'Hours:%H Minutes:%M Seconds:%S') >>> date_object datetime.datetime(1900, 1, 1, 5, 34, 28) # ^ ^ ^ # Hour Min Seconds
由于字符串中没有日期,它将保留默认日期1 Jan 1990。我认为您需要的是^{},它返回time对象,与您的datetime对象具有相同的时、分、秒和微秒。(tzinfo是None)。例如:
1 Jan 1990
time
None
>>> date_object.time() datetime.time(5, 34, 28) # ^ ^ ^ # Hour Min Seconds
其中date_object是先前创建的datetime类型。你知道吗
date_object
是的,有。你可以这样做:
import time datetime_string = "Hours:5 Minutes:34 Seconds:28" if "Hours" in datetime_string: datetime_object = time.strptime(datetime_string, "Hours:%H Minutes:%M Seconds:%S") elif "Minutes" in datetime_string: datetime_object = time.strptime(datetime_string, "Minutes:%M Seconds:%S") else: datetime_object = time.strptime(datetime_string, "Seconds:%S")
注意创建datetime对象时,未提供的值将用默认值填充价值观。所以呢,如果datetime_string只包含秒,则小时和分钟将设置为0。你知道吗
datetime_string
0
可以使用^{} 将字符串转换为
datetime
对象,如下所示:由于字符串中没有日期,它将保留默认日期} ,它返回
1 Jan 1990
。我认为您需要的是^{time
对象,与您的datetime
对象具有相同的时、分、秒和微秒。(tzinfo是None
)。例如:其中
date_object
是先前创建的datetime
类型。你知道吗是的,有。你可以这样做:
注意创建datetime对象时,未提供的值将用默认值填充价值观。所以呢,如果
datetime_string
只包含秒,则小时和分钟将设置为0
。你知道吗相关问题 更多 >
编程相关推荐