从字符串中获取Unix日期(数字)并转换为Python日期

从字符串中获取Unix日期(数字)并转换为Python日期,python,Python,我试图从url链接返回的大量文本中提取unix日期,因此我使用了: link = Open_URL(url) match=re.compile('"Date":"(.+?)"').findall(link) 但是,当我打印unix日期时,它是一个大数字,而不是一个日期,我需要将其转换为可用的日期格式,我尝试了: datetime.fromtimestamp(int(my)ints)).strftime('%Y-%m-%d %H:%M:%S') 但它不允许我转换链接,有什么想法吗 提前谢谢 当

我试图从url链接返回的大量文本中提取unix日期,因此我使用了:

link = Open_URL(url)
match=re.compile('"Date":"(.+?)"').findall(link)
但是,当我打印unix日期时,它是一个大数字,而不是一个日期,我需要将其转换为可用的日期格式,我尝试了:

datetime.fromtimestamp(int(my)ints)).strftime('%Y-%m-%d %H:%M:%S')
但它不允许我转换链接,有什么想法吗

提前谢谢

当前代码:

link = Open_URL(url)
match=re.compile('"End Date":"(.+?)"').findall(link)
for url in match:
   So on
请帮帮我,我卡住了!无法对返回的列表执行任何操作,只能打印它,这在当前格式中是无用的


谢谢

我想你所说的大数字也被称为
时代以来的时间
。它可以很容易地转换为python中的datetime对象,如下所示:

import datetime

a = datetime.datetime.timestamp(datetime.datetime.now())
print(a)   # 1448206588.806814

b = datetime.datetime.fromtimestamp(a)
print(b)   # datetime.datetime(2015, 11, 22, 21, 7, 8, 661906)

# using strftime on above object
print(b.strftime('%Y-%m-%d %H:%M:%S'))    #'2015-11-22 21:07:08'

我认为你所说的大数也被称为自大纪元以来的时间。它可以很容易地转换为python中的datetime对象,如下所示:

import datetime

a = datetime.datetime.timestamp(datetime.datetime.now())
print(a)   # 1448206588.806814

b = datetime.datetime.fromtimestamp(a)
print(b)   # datetime.datetime(2015, 11, 22, 21, 7, 8, 661906)

# using strftime on above object
print(b.strftime('%Y-%m-%d %H:%M:%S'))    #'2015-11-22 21:07:08'

如果您的
match
变量在打印时看起来像
['1448204858']
,则它是一个包含单个字符串元素的列表
datetime.fromtimestamp()
需要一个
float
值,因此需要

  • 从列表中提取字符串
  • 将其转换为浮点数,然后
  • 将其转换为日期时间:
重新导入
从日期时间导入日期时间
#测试数据
link='“某物”:“foo”,“日期”:“1448204858”,“其他东西”:“bar”
match=re.compile(“.Date”:“(.+?)”).findall(链接)
dt=datetime.fromtimestamp(float(匹配[0]))
打印(报告(dt))
打印(dt.strftime(“%Y-%m-%d%H:%m:%S”))
结果:

datetime.datetime(2015,11,22,8,7,38)
2015-11-22 08:07:38

如果您的
匹配
变量在打印时看起来像
['1448204858']
,则它是一个包含单个字符串元素的列表
datetime.fromtimestamp()
需要一个
float
值,因此需要

  • 从列表中提取字符串
  • 将其转换为浮点数,然后
  • 将其转换为日期时间:
重新导入
从日期时间导入日期时间
#测试数据
link='“某物”:“foo”,“日期”:“1448204858”,“其他东西”:“bar”
match=re.compile(“.Date”:“(.+?)”).findall(链接)
dt=datetime.fromtimestamp(float(匹配[0]))
打印(报告(dt))
打印(dt.strftime(“%Y-%m-%d%H:%m:%S”))
结果:

datetime.datetime(2015,11,22,8,7,38)
2015-11-22 08:07:38

int(my)ints在做什么?当你尝试这样做时,你会犯什么错误?你想转换什么类型的“链接”?你能为你的问题添加完整的回溯吗?很抱歉,这是一个打字错误:datetime.fromtimestamp(int(match)).strftime(“%Y-%m-%d%H:%m:%s”)。我知道匹配工作正常,如果我打印priopr以转换,它会打印一个数字,但是这个数字需要从unix转换为Date当您打印
匹配时它看起来像
['1448204858']
?int(my)int
在做什么?当你尝试这样做时,你会犯什么错误?你想转换什么类型的“链接”?你能为你的问题添加完整的回溯吗?很抱歉,这是一个打字错误:datetime.fromtimestamp(int(match)).strftime(“%Y-%m-%d%H:%m:%s”)。我知道匹配工作正常,如果我打印priopr以转换,它会打印一个数字,但是这个数字需要从unix转换为日期当您打印
匹配时
它看起来像
['1448204858']
?您的右边它是unix日期戳,但我无法转换列表项,错误日志说明它必须是字符串或数字您的右边它是unix日期戳,但我无法转换列表项,错误日志声明它必须是字符串或numberGord!!!你是一个传奇!link=Open_URL(URL)match=re.compile(“'End Date:”)。匹配中URL的findall(link):dt=datetime.fromtimstamp(float(match[0]))dt.strftime(“%Y-%m-%d%H:%m:%S”)工作得很好!!!非常感谢你!!!你是一个传奇!link=Open_URL(URL)match=re.compile(“'End Date:”)。匹配中URL的findall(link):dt=datetime.fromtimstamp(float(match[0]))dt.strftime(“%Y-%m-%d%H:%m:%S”)工作得很好!!!非常感谢