如何从指定datetime字符串提取date_var与time_var变量?
如何拆分datetime字符串为日期和时间变量
嘿,我来帮你搞定这个问题!你的datetime字符串是用空格明确分隔日期和时间部分的,这里有两种常用处理方式,看你需要字符串类型还是可操作的日期时间对象类型:
方法1:直接字符串拆分(最快最简单)
如果只是需要字符串形式的日期和时间,直接按空格分割就行,不用导入任何库:
# 你的原始datetime字符串 datetime_str = "2018-03-07 06:46:02.737951" # 按空格拆分一次(避免时间部分意外出现空格的情况) date_var_str, time_var_str = datetime_str.split(' ', 1) print(date_var_str) # 输出: "2018-03-07" print(time_var_str) # 输出: "06:46:02.737951"
方法2:转成datetime对象后提取(适合后续日期时间操作)
如果需要的是能做计算、格式转换的日期/时间对象,建议用datetime模块处理,注意要匹配字符串里的微秒部分(格式符%f):
from datetime import datetime datetime_str = "2018-03-07 06:46:02.737951" # 把字符串转成datetime对象,格式要完全匹配原始字符串 dt_obj = datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S.%f") # 提取日期和时间对象 date_var = dt_obj.date() time_var = dt_obj.time() print(date_var) # 输出: 2018-03-07(date类型) print(time_var) # 输出: 06:46:02.737951(time类型)
你之前可能报错的原因
如果之前用strptime报错,大概率是格式字符串没写对——你的字符串包含微秒(.737951),必须加上%f来匹配这部分,少了这个就会抛出格式不匹配的错误。
要是你用的是其他编程语言(比如Java、JavaScript),可以告诉我,我再给你对应的解决方案~
内容的提问来源于stack exchange,提问作者Manuel Santi
相关产品推荐
相关产品推荐

