相关疑难解决方法(0)

如何将ISO 8601日期时间字符串转换为Python日期时间对象?

我正在以"2009-05-28T16:15:00"的格式获取日期时间字符串(我相信这是ISO 8601).一个hackish选项似乎是使用time.strptime并将元组的前六个元素传递给datetime构造函数来解析字符串,如:

datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])
Run Code Online (Sandbox Code Playgroud)

我无法找到一种"更清洁"的方式来做到这一点.有吗?

python datetime iso8601 datetime-parsing

397
推荐指数
9
解决办法
34万
查看次数

使用strftime将python datetime转换为epoch

我有一段时间在UTC,从那里我想要自纪元以来的秒数.

我使用strftime将其转换为秒数.以2012年4月1日为例.

>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
Run Code Online (Sandbox Code Playgroud)

2012年4月1日UTC的纪元是1333238400但是这个上面返回1333234800,相差1小时.

所以看起来strftime正在考虑我的系统时间并在某个地方应用时区转换.我以为datetime纯粹是天真的?

我怎么能绕过那个?如果可能的话,避免导入其他库,除非标准.(我有可移植性问题).

python datetime utc strftime epoch

193
推荐指数
5
解决办法
27万
查看次数

在Python中解析rfc3339日期字符串?

我有一个数据集,其中所有日期都具有以下格式:

2012-10-09T19:00:55Z
Run Code Online (Sandbox Code Playgroud)

我希望能够使用像.weekday他们这样的方法.如何在Python中将它们转换为正确的格式?

python date rfc3339 datetime-parsing

98
推荐指数
3
解决办法
13万
查看次数

如何将Python的.isoformat()字符串转换回datetime对象

因此在Python 3中,您可以使用.isoformat()生成ISO 8601日期,但是您无法将isoformat()创建的字符串转换回datetime对象,因为Python自己的日期时间指令不能正确匹配.也就是说,%z = 0500而不是05:00(由.isoformat()生成).

例如:

>>> strDate = d.isoformat()
>>> strDate
'2015-02-04T20:55:08.914461+00:00'

>>> objDate = datetime.strptime(strDate,"%Y-%m-%dT%H:%M:%S.%f%z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\Lib\_strptime.py", line 500, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "C:\Python34\Lib\_strptime.py", line 337, in _strptime
    (data_string, format))
ValueError: time data '2015-02-04T20:55:08.914461+00:00' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'
Run Code Online (Sandbox Code Playgroud)

来自Python的strptime文档:(https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior)

%z UTC格式+ HHMM或-HHMM中的UTC偏移量(如果对象是天真的,则为空字符串).(空),+ 0000,-0400,+ 1030

因此,简而言之,Python甚至不遵守自己的字符串格式化指令.

我知道日期时间在Python中已经很糟糕了,但这真的超出了不合理的范围,变成了愚蠢的土地.

告诉我这不是真的.

python datetime iso8601 rfc3339

75
推荐指数
2
解决办法
6万
查看次数

时间戳中T和Z的确切含义是什么?

我有这个时间戳值由Web服务返回 "2014-09-12T19:34:29Z"

我知道这意味着时区,但究竟是什么意思?

我正在尝试模拟这个Web服务,所以有没有办法strftime在python中生成这个时间戳?

很抱歉,如果这很明显,但谷歌不是很有帮助,也没有strftime()参考页面.

我目前正在使用这个:

x.strftime("%Y-%m-%dT%H:%M:%S%Z")
'2015-03-26T10:58:51'
Run Code Online (Sandbox Code Playgroud)

python datetime timestamp strftime rfc3339

71
推荐指数
1
解决办法
6万
查看次数

使用strptime将带有offset的时间戳转换为datetime obj

我正在尝试使用strptime方法将格式为"2012-07-24T23:14:29-07:00"的时间戳转换为python中的datetime对象.问题在于结束时的时间偏移(-07:00).没有偏移我可以成功做到

time_str = "2012-07-24T23:14:29"

time_obj=datetime.datetime.strptime(time_str,'%Y-%m-%dT%H:%M:%S')
Run Code Online (Sandbox Code Playgroud)

但随着我尝试的抵消

time_str = "2012-07-24T23:14:29-07:00"

time_obj=datetime.datetime.strptime(time_str,'%Y-%m-%dT%H:%M:%S-%z').
Run Code Online (Sandbox Code Playgroud)

但是它给出了一个Value错误,说"z"是一个糟糕的指令.

任何解决方案的想法?

python datetime timestamp rfc3339

49
推荐指数
3
解决办法
3万
查看次数

一个更快的strptime?

我的代码以"YYYY-MM-DD"格式读取大量日期.解析所有这些日期,以便它可以添加一天,两天或三天,然后以相同的格式回写,这会大大减慢速度.

 3214657   14.330    0.000  103.698    0.000 trade.py:56(effective)
 3218418   34.757    0.000   66.155    0.000 _strptime.py:295(_strptime)

 day = datetime.datetime.strptime(endofdaydate, "%Y-%m-%d").date()
Run Code Online (Sandbox Code Playgroud)

有任何建议如何加快一点(或很多)?

python performance strptime

12
推荐指数
2
解决办法
3724
查看次数

如何将日期时间字符串转换回datetime对象?

datetime在数据库中存储一个字符串.现在我遇到了一个问题.当我从数据库中获取字符串时,我需要将其转换回datetime对象...

有什么简单的方法吗?

日期时间字符串如下所示:

2010-11-13 10:33:54.227806
Run Code Online (Sandbox Code Playgroud)

python datetime

11
推荐指数
2
解决办法
1万
查看次数

如何在Python验证期间要求时间戳为零填充?

我正在尝试验证一个字符串,该字符串应该包含ISO 8601格式的时间戳(通常用于JSON).

strptime在验证零填充时,Python 似乎非常宽容,请参阅下面的代码示例(注意小时缺少前导零):

>>> import datetime
>>> s = '1985-08-23T3:00:00.000'
>>> datetime.datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.%f')
datetime.datetime(1985, 8, 23, 3, 0)
Run Code Online (Sandbox Code Playgroud)

它优雅地接受一个字符串,该字符串例如小时不填充零,并且不会ValueError像我期望的那样抛出异常.

有没有办法强制执行strptime来验证它是否为零填充?或者Python的标准库中是否还有其他内置函数?

我想避免regexp为此写自己的.

python

11
推荐指数
1
解决办法
1079
查看次数

如何在使用 selenium 检查网站时从 Linkedin 的帖子中获取准确的日期?

我正在使用 selenium chrome 驱动程序来刮擦 Linkedin 的个人资料。我正在为我的帖子进行分析。这是从 Linkedin 的帖子中以“dd.mm.yyyy”格式而不是“1 个月前”、“2 周前”格式获取确切日期的方法吗?

请帮忙,雅切克

selenium web-scraping linkedin-api

11
推荐指数
2
解决办法
3万
查看次数