相关疑难解决方法(0)

如何解析ISO 8601格式的日期?

我需要将RFC 3339字符串解析"2008-09-03T20:56:35.450686Z"为Python的datetime类型.

strptime在Python标准库中找到了,但它不是很方便.

做这个的最好方式是什么?

python datetime iso8601 rfc3339 datetime-parsing

583
推荐指数
21
解决办法
36万
查看次数

Python中的ISO时间(ISO 8601)

我有一个文件.在Python中,我想花费它的创建时间,并将其转换为ISO时间(ISO 8601)字符串, 同时保留它在东部时区(ET)中创建的事实.

如何获取文件的ctime并将其转换为指示东部时区的ISO时间字符串(并在必要时考虑夏令时)?

python datetime iso8601

267
推荐指数
10
解决办法
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中生成RFC 3339时间戳

我正在尝试在Python中生成RFC 3339 UTC时间戳.到目前为止,我已经能够做到以下几点:

>>> d = datetime.datetime.now()
>>> print d.isoformat('T')
2011-12-18T20:46:00.392227
Run Code Online (Sandbox Code Playgroud)

我的问题是设置UTC偏移量.

根据该文件,在类方法datetime.now([tz]),有一个可选的tz参数,其中tz must be an instance of a class tzinfo subclass,和datetime.tzinfoan abstract base class for time zone information objects.

这就是我迷路的地方 - 为什么tzinfo是一个抽象类,我该如何实现呢?


(注意:在PHP中它很简单timestamp = date(DATE_RFC3339);,这就是为什么我无法理解为什么Python的方法如此错综复杂......)

python datetime iso8601 rfc3339

51
推荐指数
5
解决办法
4万
查看次数

来自Python中字符串的datetime,最佳猜测字符串格式

从字符串获取日期时间的函数datetime.strptime(date_string, format)需要字符串格式作为第二个参数.有没有办法从字符串构建日期时间而不知道确切的格式,并让Python最好猜测它?

python datetime

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

ISO到datetime对象:'z'是一个错误的指令

我正在尝试将ISO转换为datetime使用以下代码:

dt = datetime.datetime.strptime("2013-07-23T15:10:59.342107+01:00",
                                "%Y-%m-%dT%H:%M:%S.%f%z")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S.%f%z'
Run Code Online (Sandbox Code Playgroud)

将格式上面的ISO字符串转换为对象的最佳方法是什么datetime?我使用的是Python 2.7.6版.

python datetime iso rfc3339

38
推荐指数
2
解决办法
4万
查看次数

转换(YYYY-MM-DD-HH:MM:SS)日期时间

我想将这样的字符串转换"29-Apr-2013-15:59:02" 为更有用的字符串.

破折号可以很容易地用空格或其他字符替换.这种格式是理想的:"YYYYMMDD HH:mm:ss (20130429 15:59:02)".

编辑:

对不起,我没有在另一篇文章中特别看到答案.但同样,我是无知的,所以可能一直在寻找解决方案并且不知道它.我有这个工作,但我不认为它"漂亮".

#29-Apr-2013-15:59:02

import sys, datetime, time

#inDate = sys.argv[1]
inDate = 29-Apr-2013-15:59:02

def getMonth(month):
    monthDict = {'Jan':'01','Feb':'02','Mar':'03','Apr':'04','May':'05','Jun':'06','Jul':'07','Aug':'08','Sep':'09','Oct':'10','Nov':'11','Dec':'12'}
    for k, v in monthDict.iteritems():
        if month == k:
            return v

day = inDate[:2]
#print day
month = inDate[3:6]
#print month
year = inDate[7:11]
#print year
time = inDate[-8:]
#print time

newDate = year+getMonth(month)+day
newDateTime = newDate+" "+time

print newDate
print newDateTime
Run Code Online (Sandbox Code Playgroud)

有什么改进的想法?

python time datetime

20
推荐指数
1
解决办法
7万
查看次数

为什么 Python 3 发现这个 ISO8601 日期:“2019-04-05T16:55:26Z”无效?

我提供"2019-04-05T16:55:26Z"给 Python 3datetime.datetime.fromisoformat和 get Invalid isoformat string,尽管相同的字符串在没有 Z 的情况下也能工作。 ISO8601 允许 Z - https://en.wikipedia.org/wiki/ISO_8601

$ python3
Python 3.7.2 (default, Feb 12 2019, 08:15:36)

>>> datetime.fromisoformat("2019-04-05T16:55:26Z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Invalid isoformat string: '2019-04-05T16:55:26Z'

>>> datetime.fromisoformat("2019-04-05T16:55:26")
datetime.datetime(2019, 4, 5, 16, 55, 26)
Run Code Online (Sandbox Code Playgroud)

python iso8601 python-3.x python-3.7

17
推荐指数
3
解决办法
8483
查看次数

如何将YouTube API持续时间转换为秒?

为了感兴趣,我想将视频持续时间从YouTubes转换ISO 8601为秒.为了将来证明我的解决方案,我选择了一个非常长的视频来测试它.

API提供此期限 - "duration": "P1W2DT6H21M32S"

我尝试使用stackoverflow.com/questions/969285中的dateutil建议解析此持续时间.

import dateutil.parser
duration = = dateutil.parser.parse('P1W2DT6H21M32S')
Run Code Online (Sandbox Code Playgroud)

这引发了一个例外

TypeError: unsupported operand type(s) for +=: 'NoneType' and 'int'
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python youtube-api

13
推荐指数
4
解决办法
4230
查看次数

如何在Python中使用UTC偏移量解析时区?

假设我有一个像"2009-08-18 13:52:54-04"这样的时区.我可以使用这样的一行解析大部分内容:

datetime.strptime(time_string, "%Y-%m-%d %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)

但是,我无法让时区工作.有一个%Z处理文本时区("EST","UTC"等),但我没有看到任何可以解析"-04"的东西.

python datetime

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