a = "Sat Apr 27 2019 00:00:14 GMT+0530 (India Standard Time)"
我将示例字符串保存到变量a。我希望以这种方式定义输出。删除了日期(星期六)部分,并且此(2019年4月27日)部分转换为“ 27-4-2019”。我是编程的新手,将不胜感激。
我有一个时间序列的数据,并且代码应与在多个时间间隔获取的其他样本相匹配,且格式与“ a”相同
答案 0 :(得分:3)
尝试DateParser,请看下面的示例:
import dateparser
a = "Sat Apr 27 2019 00:00:14 GMT+0530 (India Standard Time)"
x = dateparser.parse(a)
x.date().strftime("%d-%m-%Y")
输出:
已解析的日期时间对象:
datetime.datetime(2019,4,27,0,0,14,tzinfo = StaticTzInfo 'UTC + 05:30')
提取的输出将是:
27-04-2019
答案 1 :(得分:1)
以下是使用python标准datetime模块而不使用任何其他第三方模块/库的答案:
from datetime import datetime
dt_string = "Sat Apr 27 2019 00:00:14 GMT+0530 (India Standard Time)"
dt = datetime.strptime(' '.join(dt_string.split(' ')[:6]), '%a %b %d %Y %H:%M:%S %Z%z')
print(dt.strftime('%d-%m-%Y'))
输出
'27-04-2019'
答案 2 :(得分:1)
“(印度标准时间)” 不是时区的标准格式。如果“ IST” ,则“%Z” 将是日期时间格式代码的指令。假设您的所有数据都包含“(印度标准时间)” ,那么代码如下-
from datetime import datetime
a = "Sat Apr 27 2019 00:00:14 GMT+0530 (India Standard Time)"
date_object = datetime.strptime(a, '%a %b %d %Y %H:%M:%S GMT%z (India Standard Time)')
new_date = date_object.strftime("%d-%-m-%Y")
或者,如果字符串'a'包含其他时区名称,则可以应用以下内容。
from datetime import datetime
import re
a = "Sat Apr 27 2019 00:00:14 GMT+0530 (India Standard Time)"
a= re.sub(r'\([^()]*\)', '', a)
date_object = datetime.strptime(date_string, '%a %b %d %Y %H:%M:%S GMT%z ')
new_date = date_object.strftime("%d-%-m-%Y")