亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字符串列表正確格式化為python中的日期列表

將字符串列表正確格式化為python中的日期列表

楊__羊羊 2021-08-11 17:37:12
在獲取最大日期時間之前,我有一個字符串列表,我想將其格式化為日期列表。該列表如下所示:StrList = ['date_range Date Posted: Thu, 08 11 2018 12:12:55 GMT', 'date_range Date Posted: Thu, 08 11 2018 10:53:49 GMT', 'date_range Date Posted: Thu, 08 11 2018 09:55:08 GMT', 'date_range Date Posted: Wed, 07 11 2018 14:23:56 GMT', 'date_range Date Posted: Wed, 07 11 2018 14:23:12 GMT', 'date_range Date Posted: Wed, 07 11 2018 09:07:47 GMT', 'date_range Date Posted: Tue, 06 11 2018 11:44:51 GMT', 'date_range Date Posted: Mon, 05 11 2018 16:17:51 GMT', 'date_range Date Posted: Mon, 05 11 2018 14:07:41 GMT', 'date_range Date Posted: Mon, 05 11 2018 14:03:19 GMT', 'date_range Date Posted: Mon, 05 11 2018 13:07:10 GMT', 'date_range Date Posted: Mon, 05 11 2018 13:05:56 GMT', 'date_range Date Posted: Mon, 05 11 2018 11:41:31 GMT']我想獲得一個僅包含每個列表元素的提取日期和時間部分的列表,然后找到所有元素的日期時間的最大值。例如所需的輸出: DateList = ['08-11-2018 12:12:55', '08-11-2018 10:53:49 GMT', '08-11-2018 09:55:08 GMT', '07-11-2018 14:23:56 GMT', '07-11-2018 14:23:12 GMT', '07-11-2018 09:07:47 GMT', '06-11-2018 11:44:51 GMT', '05-11-2018 16:17:51 GMT', '05-11-2018 14:07:41 GMT', '05-11-2018 14:03:19 GMT', '05-11-2018 13:07:10 GMT', '05-11-2018 13:05:56 GMT', '05-11-2018 11:41:31 GMT']然后最后一步將是獲取最大日期時間,在這種情況下將是:MaxDate = 08-11-2018 12:12:55任何幫助將不勝感激。
查看完整描述

1 回答

?
呼如林

TA貢獻1798條經驗 獲得超3個贊

采用 datetime.datetime.strptime


from datetime import datetime


str_list = ['date_range Date Posted: Thu, 08 11 2018 12:12:55 GMT',

 'date_range Date Posted: Thu, 08 11 2018 10:53:49 GMT',

 'date_range Date Posted: Thu, 08 11 2018 09:55:08 GMT',

 'date_range Date Posted: Wed, 07 11 2018 14:23:56 GMT',

 'date_range Date Posted: Wed, 07 11 2018 14:23:12 GMT',

 'date_range Date Posted: Wed, 07 11 2018 09:07:47 GMT',

 'date_range Date Posted: Tue, 06 11 2018 11:44:51 GMT',

 'date_range Date Posted: Mon, 05 11 2018 16:17:51 GMT',

 'date_range Date Posted: Mon, 05 11 2018 14:07:41 GMT',

 'date_range Date Posted: Mon, 05 11 2018 14:03:19 GMT',

 'date_range Date Posted: Mon, 05 11 2018 13:07:10 GMT',

 'date_range Date Posted: Mon, 05 11 2018 13:05:56 GMT',

 'date_range Date Posted: Mon, 05 11 2018 11:41:31 GMT']


date_list = [datetime.strptime(s.split(', ')[-1], '%d %m %Y %H:%M:%S %Z') for s in str_list]

看起來像


[datetime.datetime(2018, 11, 8, 12, 12, 55),

 datetime.datetime(2018, 11, 8, 10, 53, 49),

 datetime.datetime(2018, 11, 8, 9, 55, 8),

 datetime.datetime(2018, 11, 7, 14, 23, 56),

 datetime.datetime(2018, 11, 7, 14, 23, 12),

 datetime.datetime(2018, 11, 7, 9, 7, 47),

 datetime.datetime(2018, 11, 6, 11, 44, 51),

 datetime.datetime(2018, 11, 5, 16, 17, 51),

 datetime.datetime(2018, 11, 5, 14, 7, 41),

 datetime.datetime(2018, 11, 5, 14, 3, 19),

 datetime.datetime(2018, 11, 5, 13, 7, 10),

 datetime.datetime(2018, 11, 5, 13, 5, 56),

 datetime.datetime(2018, 11, 5, 11, 41, 31)]

然后簡單地獲得最大值和最小值:


max_date = max(date_list)


min_date = min(date_list)

產出


max: datetime.datetime(2018, 11, 8, 12, 12, 55)

min: datetime.datetime(2018, 11, 5, 11, 41, 31)

您可以通過執行以下操作以相同的字符串形式恢復日期


max_date.strftime('%d %m %Y %H:%M:%D GMT')

產出


'08 11 2018 12:12:55 GMT'


查看完整回答
反對 回復 2021-08-11
  • 1 回答
  • 0 關注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號