首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python -解析神秘日期格式

python -解析神秘日期格式
EN

Stack Overflow用户
提问于 2015-07-30 22:47:35
回答 1查看 170关注 0票数 0

我正在将Excel电子表格中的数据导入python。我的约会是以一种奇怪的方式进行的,我对此并不熟悉,也无法解析。

excel:(7/31/2015)

代码语言:javascript
复制
42216

在我进口之后:

代码语言:javascript
复制
u'/Date(1438318800000-0500)/'

两个问题:

  1. 这是什么格式,我如何将它解析成更直观、更易于阅读的东西?
  2. 有没有一种强有力的、瑞士军刀式的方法可以在不指定输入格式的情况下转换日期?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 23:17:40

时区必然会使事情变得更复杂,所以让我们忽略它们.

正如@SteJ所言,从1970年1月1日开始,你得到的是(接近)几秒钟的时间。这是维基百科的一篇文章通常是如何使用的。奇怪的是,你得到的字符串似乎有一个时区(-0500,在北美东部时间)附加。如果它是正确的UNIX时间(它总是在UTC),那就没有意义了,但是我们将传递.

假设您可以将其简化为一个数字(sans时区),那么在Python中将其转换为某种合理的东西实际上是直截了当的(注意精度的降低;您的原始数字是自该时代以来的毫秒数,而不是从时代开始的标准秒数):

代码语言:javascript
复制
from datetime import datetime

time_stamp = 1438318800

time_stamp_dt = datetime.fromtimestamp(time_stamp)

然后,您可以使用time_stamp_dt (例如,time_stamp_dt.strftime('%m/%d/%Y') )将strftime设置为您认为最合适的任何格式,这给您提供了您最初使用的内容。

现在,假设您提供的字符串的格式相当正常,我们可以提取相关的时间,非常简单,如下所示:

代码语言:javascript
复制
s = '/Date(1438318800000-0500)/'
time_stamp = int(s[6:16])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31735343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档