当前位置: 首页 > 面试题库 >

将奇怪的Python日期格式转换为可读日期

戚俊健
2023-03-14
问题内容

我正在使用Python访问某些Web服务的移动API,响应中包含以下奇怪的日期表示法:u'/Date(1409522400000+0200)/'这应该是2014年9月1日。

我不确定这是哪种格式,但是我想将其转换为可读的格式,即adate或adatetime或Unix时间。

有人可以帮我吗?


问题答案:

时间字符串看起来像[Datetime的OData版本2JSON详细格式,可以在旧的ASP.NET或WCF应用程序中看到:

“ / Date( [“ +” |“-” ])/”
=自1970年1月1日午夜以来的毫秒数
= utc偏移量

#!/usr/bin/env python3
import re
from datetime import datetime, timedelta, timezone

time_string = u"/Date(1409522400000+0200)/"
epoch = datetime(1970, 1, 1, tzinfo=timezone.utc)
ticks, offset = re.match(r'/Date\((\d+)([+-]\d{4})?\)/$', time_string).groups()
utc_dt = epoch + timedelta(milliseconds=int(ticks))
print(utc_dt)
if offset:
   offset = int(offset)
   hours, minutes = divmod(abs(offset), 100)
   if offset < 0:
      hours, minutes = -hours, -minutes
   dt = utc_dt.astimezone(timezone(timedelta(hours=hours, minutes=minutes)))
   print(dt)

输出量

2014-08-31 22:00:00+00:00
2014-09-01 00:00:00+02:00


 类似资料:
  • 问题内容: 我正在使用需要json日期格式的API。 我需要转换我的JavaScript日期 1970年1月17日星期六格林尼治标准时间+0100(浪漫标准时间) 以json日期格式 /日期(1405699200)/ 问题答案: 列各项可以吗?

  • 问题内容: 我有一个输出数据数组的PHP脚本。然后将其转换为使用函数。 我的问题是我的数组中有一个日期,但日期格式不正确。 我怎样才能在PHP中转换它呢? 代替上面的日期,我需要等效的JavaScript函数 新的Date() 当我输出上述内容时,我得到以下内容:“ Fri Jun 01 2012 11:08:48 GMT + 0100(GMT Daylight Time)”但是,如果我将PHP日

  • 问题内容: 我有django表单,我从POST收到一个格式为“%d /%m/%Y”的日期,我想将其转换为“%Y-%m-%d”,我该怎么办? 问题答案: 使用strptime和strftime: 同样,在Django模板语法中,您可以使用日期过滤器: 以您喜欢的格式打印日期。

  • 问题内容: 我想使用两次,所以我可以计算持续时间,但我也想以用户可读的格式显示时间和日期。我在计算方面遇到了麻烦,但看不到内置函数可以转换为漂亮的时间或时间/日期。 我用 产生美好的时间和日期,而我最终想要做的是将我产生的价值展示给 例如 当我尝试时 类型不匹配:无法从long转换为DateFormat 我尝试使用一些强制转换,但看不到如何实现。 问题答案: 它将起作用。

  • 问题内容: 我在使用此代码的php中有一个日期字段: 我如何将其转换为MySql格式的Registry,以便包含在db中。它是否遵循以下格式:date(’Ymd’strtotime($ date);.我问的原因是因为我尝试了此方法的变体,但似乎无法正常工作。显示为1970还是其他变体对此非常感谢 问题答案: 1.如果您的MySQL列为: 2.如果您的MySQL列为: 您无需工作,因为它不适用于破折

  • 我想使用angularjs将日期从2015-12-02T18:30:00.000 0000转换为2015年12月2日星期三00:00:00 GMT 0530(印度标准时间)。