我正在尝试使用python request.get( url )方法从url检索xml数据。但是,所有的日期都是epochdate格式的,有没有办法以实际的日期时间格式来获取日期?
我尝试更改headers = {'accept':'application/xml')和headers = {'accept':'application/ json '),并请求原始格式、json、内容文本格式的内容
headers = {'accept': 'application/xml;odata=verbose; q=0.9, */*;q=0.8'}
val = requests.get(url, auth=HttpNtlmAuth(username, password),headers=headers, verify=False ,headers= headers)
val.text、val.content或val.json以纪元格式返回相同的日期值
日期在xml中的形式:
2010-06-11T11:57:55
返回的request.get(url):
("Modified":"/Date(1276257475000)/")
感谢您在这里提供的任何帮助。
发布于 2019-06-20 08:39:35
我认为如果你将纪元时间转换成一个数字,你可以使用time.strftime
,也许像这样?https://stackoverflow.com/a/12400584/9032733
您可以更改结果日期字符串的格式。
发布于 2019-06-20 14:00:42
只需将其转换为时间戳:more details of utcfromtimestamp
import datetime
date_time = datetime.datetime.utcfromtimestamp(1276257475000//1000.0)
print(date_time)
O/P:
2010-06-11 11:57:55
发布于 2019-06-20 23:59:00
感谢您的建议,按照@LeeGarcon的建议,编写了一个函数并迭代了json文档。它成功了!
import re
import datetime
def _epoch_to_datetime(_dict_element):
""" This function expects a dictionary (k,v) """
pattern = "^/Date..............."
for k,v in _dict_element.items():
if re.match(pattern,str(v)):
epoch_time = v[6:-5]
_dict_element[k] = datetime.datetime.fromtimestamp(int(epoch_time)).strftime('%Y-%m-%d %H:%M:%S')
https://stackoverflow.com/questions/56677498
复制相似问题