datetime.datetime.strptime:万能的日期格式转换

环境:

Distro: OS X 10.12.3
python解释器:3.6.1

最近在写一个新闻聚合app,其中服务器端要用python爬取各大新闻网站的rss数据。其中遇到的一个问题是日期格式的统一问题:
新浪新闻的RSS的日期格式是这样的:

<pubDate>Sun, 23 Apr 2017 05:15:05 GMT</pubDate>

百度新闻的RSS的日期格式是这样的:

<pubDate><![CDATA[2017-04-23T05:27:20.000Z]]></pubDate>

我是希望将日期格斯统一为2017-04-23 11:11:11这样的。我找到了这个接口

datetime.datetime.strptime()

问题是如何使用呢,直接看代码就明白了:

import datetime #python3解释器自带datetime模块
newsTime='Sun, 23 Apr 2017 05:15:05 GMT'
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
newsTime=datetime.datetime.strptime(newsTime,GMT_FORMAT)
print(newsTime)#2017-04-23 05:15:05

我们成功得到了结果,可以看到问题的关键在于接口的第二个参数:GMT_FORMAT:只要GMT_FORMAT匹配原来的日期格式即可
GMT代表的是格林尼治时间,如果要转换成北京时间,还要加上8小时:

newsTime=datetime.datetime.strptime(newsTime,BAI_FORMAT)+date.timedelta(hours=8)

百度新闻网站的RSS时间格式留待读者自己转换。

  • 注意:

      Apr,Sept等月份简写的占位符是%b, 而03,04这些月份数字的占位符是%m
    
### 回答1: datetime.datetime.strptimePythondatetime 模块的一个函数,它的作用是将字符串形式的日期时间转换为 datetime 对象。该函数接收两个参数:一个是日期时间字符串,一个是格式字符串,用于指定字符串中日期时间数据的格式。例如: ``` import datetime date_string = "2023-02-13 12:34:56" date_format = "%Y-%m-%d %H:%M:%S" date_object = datetime.datetime.strptime(date_string, date_format) ``` 在上面的例子中,日期时间字符串是 "2023-02-13 12:34:56",格式字符串是 "%Y-%m-%d %H:%M:%S"。调用 strptime 函数后,得到的 date_object 是一个 datetime 对象,其值为 2023 年 2 月 13 日 12 时 34 分 56 秒。 ### 回答2: datetime.datetime.strptimePython日期时间模块中的一个函数,用于将字符串转换为指定格式的日期时间对象。 这个函数的语法如下: datetime.datetime.strptime(date_string, format) 其中,date_string是要转换的日期时间字符串,而format是指定的日期时间格式。 datetime.datetime.strptime函数会根据指定的日期时间格式解析字符串并返回一个对应的datetime对象。如果解析失败,会抛出ValueError异常。 举个例子,如果我们有一个日期时间字符串"2022-01-01 12:00:00",想要将它转换为datetime对象,可以这样使用: import datetime date_string = "2022-01-01 12:00:00" format = "%Y-%m-%d %H:%M:%S" datetime_obj = datetime.datetime.strptime(date_string, format) 上述代码中,首先定义了要转换的日期时间字符串date_string和日期时间格式format。然后,调用datetime.datetime.strptime函数,传入date_string和format作为参数,将字符串转换为对应的datetime对象。最后,将转换后的datetime对象赋值给datetime_obj。 通过使用datetime.datetime.strptime函数,我们可以方便地将日期时间字符串转换为datetime对象,并在后续的操作中进行处理和计算。 ### 回答3: datetime.datetime.strptime是一个用于将字符串解析为datetime对象的方法。它接受两个参数:第一个参数是要解析的字符串,第二个参数是解析字符串的格式。 在解析字符串时,我们需要使用与待解析字符串相匹配的格式指定符。例如,如果要解析的字符串是"2022-10-25 15:30:00",那么对应的格式指定符应该是"%Y-%m-%d %H:%M:%S"。其中,"%Y"表示四位数的年份,"%m"表示两位数的月份,"%d"表示两位数的日期,"%H"表示24小时制的小时数,"%M"表示分钟数,"%S"表示秒数。 使用datetime.datetime.strptime方法解析字符串后,会返回一个datetime对象,其中包含解析后的日期和时间信息。我们可以通过调用datetime对象的属性,如year、month、day、hour、minute、second,来获取解析后的时间信息。 总结起来,datetime.datetime.strptime是一个实用的方法,它可以让我们将字符串按照指定的格式解析成datetime对象,方便在程序中进行日期和时间的处理和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值