request.get(url)以epoch格式返回日期,是否有一种方法可以在使用request.get方法时将epochdate转换为datetime格式?

时间:2019-06-20 00:26:23

标签: python python-3.x http request

我正在尝试使用python request.get(url)方法从URL中检索xml数据。但是,所有日期都是epochdate格式,有没有办法以实际的datetime格式获取日期?

我尝试更改标头= {'accept':'application / xml')和标头= {'accept':'application / json')并请求原始格式的内容json,content 文字格式

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)/”)

在此提供任何帮助。

3 个答案:

答案 0 :(得分:0)

我想如果将纪元时间转换为数字,可以使用library(data.table) test <- fread("id,class,time 1,start,2019-06-20 00:00:00 1,end,2019-06-20 00:05:00 1,start,2019-06-20 00:10:00 1,end,2019-06-20 00:15:00 2,end,2019-06-20 00:20:00 2,start,2019-06-20 00:25:00 2,end,2019-06-20 00:30:00 2,start,2019-06-20 00:35:00 3,end,2019-06-20 00:40:00 3,start,2019-06-20 00:45:00 3,end,2019-06-20 00:50:00 3,start,2019-06-20 00:55:00") ,也许是这样吗? https://stackoverflow.com/a/12400584/9032733

您可以更改结果日期字符串的格式。

答案 1 :(得分:0)

只需将其转换为时间戳: 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

答案 2 :(得分:0)

感谢您的建议,编写了一个函数,并按照@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')