我怎么能把一个字符串,如:
'20190501'
转换为一个字符串,比如:
'2019-05-01'
而不先转换为datetime等字符串。
from datetime import datetime
datetime.strptime('20190501', '%Y%m%d').strftime('%Y-%m-%d'))
上面的代码可以用,但是因为我是以字符串开头和结尾的,所以似乎没有必要使用... ... datetime
的过程中。可以直接转换字符串吗?
如果格式总是YYYYMMDD,可以通过以下方式获取术语进行转换。
s="YYYYMMDD"
s=s[:4]+"-"+ s[4:6]+"-"+s[6:]
你可以把它切成片并进行格式化
>>> date = '20190501'
>>> newdate = "{}-{}-{}".format(date[:4],date[4:6],date[6:])
>>> newdate
'2019-05-01'
如果你知道格式是固定的,那么用字符串切片的方式来做就很简单了。
d = '20190501'
print(d[0:4] + '-' + d[4:6] + '-' + d[6:8])
试试这个。
before = '20190501'
print('before:', before)
after = ''.join((before[:4],'-',before[4:6],'-',before[6:]))
print('after:', after)
你可以使用字符串索引,如下:
old_date = '20200505'
new_date = old_date[:4]+'-'+old_date[4:6]+'-'+old_date[6:8] 。
打印(new_date)
2020-05-05