想要从带有毫秒的时间格式中去掉毫秒,可以采用Python内建的datetime模块。具体的步骤如下:
- 导入datetime模块
在代码的开头,可以加上以下语句,导入datetime模块:
import datetime
- 将字符串格式的时间转换为datetime对象
假设有一个字符串时间格式为"2022-01-01 23:59:59.999",可以使用datetime模块的strptime()函数将该字符串转换为datetime对象。相关代码如下:
time_str = "2022-01-01 23:59:59.999"
time_format = "%Y-%m-%d %H:%M:%S.%f"
time = datetime.datetime.strptime(time_str, time_format)
代码中,第一行定义了字符串时间的格式,其中"%f"是用于解析毫秒的,表示6位数的微秒。第二行使用datetime.datetime.strptime()函数将字符串时间转换为datetime对象,并存储在time变量中。
- 去掉datetime对象中的毫秒数
datetime对象具有year、month、day、hour、minute、second等属性,但没有毫秒的属性。可以先将datetime对象转换为只包含年、月、日、时、分、秒的新时间对象,即将毫秒数赋值为0。代码如下:
time_without_ms = time.replace(microsecond=0)
在这里,使用了datetime对象内置的replace()函数,将毫秒数赋值为0,得到了一个新的datetime对象time_without_ms。
- 将datetime对象转换为字符串格式
最后,可以将得到的datetime对象time_without_ms转换为字符串格式,代码如下:
time_str_without_ms = time_without_ms.strftime(time_format)
这里使用了datetime对象内置的strftime()函数,将datetime对象转换为字符串,输出结果为:"2022-01-01 23:59:59.000"。
以下是两个完整的示例:
示例1:转换字符串格式为带毫秒的时间为只包含年月日时分秒的时间。
import datetime
time_str = "2022-01-01 23:59:59.999"
time_format = "%Y-%m-%d %H:%M:%S.%f"
time = datetime.datetime.strptime(time_str, time_format)
time_without_ms = time.replace(microsecond=0)
time_str_without_ms = time_without_ms.strftime(time_format)
print(time_str) # "2022-01-01 23:59:59.999"
print(time_str_without_ms) # "2022-01-01 23:59:59.000"
示例2:从当前时间中去掉毫秒数。
import datetime
current_time = datetime.datetime.now()
time_format = "%Y-%m-%d %H:%M:%S.%f"
time_without_ms = current_time.replace(microsecond=0)
time_str_without_ms = time_without_ms.strftime(time_format)
print(current_time) # 例如:2022-01-01 23:59:59.999999
print(time_str_without_ms) # 例如:2022-01-01 23:59:59.000000
以上两个示例演示了如何通过datetime模块的相关函数实现去掉带有毫秒的时间格式中的毫秒数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 时间 T 去掉 带上ms 毫秒 时间格式的操作 - Python技术站