我有以下字符串:
File Modification Date/Time : 2018:03:05 15:21:35-04:00
并且,想要分别提取此部分2018:03:05
和此部分15:21:35
。
我认为正则表达式会起作用吗?但是,不知道如何去做。
感谢。
答案 0 :(得分:6)
也许,declare @createdate datetimeoffset
set @createdate = '2018-03-02 12:00:00.0000000 -07:00'
select convert(datetimeoffset,CONVERT(datetime2, @createdate , 1))
:
re.findall
详细
>>> re.findall(r'\d+(?::\d+){2}', text)
['2018:03:05', '15:21:35']
答案 1 :(得分:0)
一个简单的解决方案,可能不是最理想的解决方法是将字符串拆分为空格字符,然后从结果数组中访问两个字符串。
答案 2 :(得分:0)
如果字符串是固定长度:
a = "File Modification Date/Time : 2018:03:05 15:21:35-04:00"
print(a[34:44]) # 2018:03:05
print(a[45:53]) # 15:21:35
答案 3 :(得分:0)
取决于您要对数据执行的操作,但将该字符串转换为日期时间对象可以为您提供更多自由。只有你以后要重复使用这些数据。
from datetime import datetime,
a = "File Modification Date/Time : 2018:03:05 15:21:35-04:00"
datetime_string = a.split(":",1)[1]
datetime_object = datetime.strptime(datetime_string, '%b %d %Y %I:%M%p')