将字符串转换为日期类型(Python)
我该如何把一个字符串转换成Python中的日期对象呢?
这个字符串是:“30-01-12”(它的格式是:“%d-%m-%y”)。
我不想要一个datetime.datetime对象,而是想要一个datetime.date对象。
3 个回答
4
在编程中,有时候我们需要处理一些数据,这些数据可能会有不同的格式或者类型。比如说,我们可能会有一个数字,或者是一个字符串(就是一串字符,比如“你好”)。
当我们想要把这些不同类型的数据放在一起使用时,就需要进行“转换”。这就像把不同的玩具放进一个盒子里,确保它们都能适应这个盒子。
在代码中,转换的方式有很多种,具体取决于我们想要达到什么样的效果。有时候,我们需要把一个数字变成字符串,这样我们就可以把它和其他字符串一起使用。比如说,把数字123转换成“123”。
另外,有时候我们也需要把字符串转换成数字,这样我们才能进行数学运算。比如说,把字符串“456”转换成数字456,这样我们就可以进行加法、减法等运算。
总之,数据的转换是编程中一个很重要的部分,帮助我们更好地处理和使用不同类型的数据。
from datetime import datetime,date
date_str = '30-01-12'
formatter_string = "%d-%m-%y"
datetime_object = datetime.strptime(date_str, formatter_string)
date_object = datetime_object.date()
5
这个应该可以正常运行:
import datetime
s = "30-01-12"
slist = s.split("-")
sdate = datetime.date(int(slist[2]),int(slist[0]),int(slist[1]))
49
你仍然可以使用 datetime.datetime
,但只提取其中的 .date()
部分:
datetime.datetime.strptime('30-01-12', '%d-%m-%y').date()
示例:
>>> import datetime
>>> datetime.datetime.strptime('30-01-12', '%d-%m-%y').date()
datetime.date(2012, 1, 30)