相关疑难解决方法(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中识别未知的日期时区时区

我需要做什么

我有一个时区不知道的日期时间对象,我需要添加一个时区,以便能够将其与其他时区感知日期时间对象进行比较.我不想将我的整个应用程序转换为时区,而不是因为这个遗留案例.

我试过的

首先,要证明问题:

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> import pytz
>>> unaware = datetime.datetime(2011,8,15,8,15,12,0)
>>> unaware
datetime.datetime(2011, 8, 15, 8, 15, 12)
>>> aware = datetime.datetime(2011,8,15,8,15,12,0,pytz.UTC)
>>> aware
datetime.datetime(2011, 8, 15, 8, 15, 12, tzinfo=<UTC>)
>>> aware == unaware
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't compare offset-naive and offset-aware …
Run Code Online (Sandbox Code Playgroud)

python timezone datetime

446
推荐指数
10
解决办法
27万
查看次数

从Python中的epoch(unix time)开始,如何将datetime对象转换为毫秒?

我有一个Python datetime对象,我想转换为unix时间,或自1970年代以来的秒/毫秒.

我该怎么做呢?

python datetime epoch

324
推荐指数
7
解决办法
34万
查看次数

在Python中将datetime.date转换为UTC时间戳

我正在处理Python中的日期,我需要将它们转换为UTC时间戳,以便在Javascript中使用.以下代码不起作用:

>>> d = datetime.date(2011,01,01)
>>> datetime.datetime.utcfromtimestamp(time.mktime(d.timetuple()))
datetime.datetime(2010, 12, 31, 23, 0)
Run Code Online (Sandbox Code Playgroud)

将日期对象首先转换为datetime也无济于事.我试过这个链接的例子,但是:

from pytz import utc, timezone
from datetime import datetime
from time import mktime
input_date = datetime(year=2011, month=1, day=15)
Run Code Online (Sandbox Code Playgroud)

现在要么:

mktime(utc.localize(input_date).utctimetuple())
Run Code Online (Sandbox Code Playgroud)

要么

mktime(timezone('US/Eastern').localize(input_date).utctimetuple())
Run Code Online (Sandbox Code Playgroud)

确实有效.

所以一般的问题:如何根据UTC获得自纪元以来转换为秒的日期?

python datetime utc

281
推荐指数
6
解决办法
51万
查看次数

在Python中,如何将自纪元以来的秒数转换为`datetime`对象?

time从epoch开始,模块可以使用秒进行初始化:

>>> import time
>>> t1=time.gmtime(1284286794)
>>> t1
time.struct_time(tm_year=2010, tm_mon=9, tm_mday=12, tm_hour=10, tm_min=19, 
                 tm_sec=54, tm_wday=6, tm_yday=255, tm_isdst=0)
Run Code Online (Sandbox Code Playgroud)

有一种优雅的方式以datetime.datetime相同的方式初始化对象吗?

python time datetime date epoch

220
推荐指数
5
解决办法
22万
查看次数

在Python中将字符串日期转换为时间戳

如何将格式的字符串转换"%d/%m/%Y"为时间戳?

"01/12/2011" -> 1322697600
Run Code Online (Sandbox Code Playgroud)

python datetime

193
推荐指数
12
解决办法
39万
查看次数

Python - calendar.timegm()与time.mktime()

我似乎很难理解这一点.

calendar.timegm()和之间有什么区别time.mktime()

假设我datetime.datetime没有连接tzinfo,两个不应该给出相同的输出吗?难道他们都没有给出纪元和作为参数传递的日期之间的秒数?而且由于传递的日期没有tzinfo,那个秒数不一样吗?

>>> import calendar
>>> import time
>>> import datetime
>>> d = datetime.datetime(2010, 10, 10)
>>> calendar.timegm(d.timetuple())
1286668800
>>> time.mktime(d.timetuple())
1286640000.0
>>> 
Run Code Online (Sandbox Code Playgroud)

python timezone

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

什么是昨天的午夜作为一个纪元时间?

我正试图绕过日期时间模块.我知道现在的时间作为一个时代和事件最后发生的时间(作为一个纪元时间).我需要做的是弄清楚该事件是否发生在昨天的午夜和午夜之间.

t = time.time() # is now
t2 = 1234567890 # some arbitrary time from my log
Run Code Online (Sandbox Code Playgroud)

24小时前是t - 86400,但我怎样才能将它上下调整到午夜.我很难找到一种方法来获取时间戳进出日期时间,或者操纵日期时间来设置时间.

python datetime

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

Boto3 S3,按最后修改排序桶

我需要使用Boto3从S3获取项目列表,但不是返回默认排序顺序(降序),而是希望它通过反向顺序返回它.

我知道你可以通过awscli来做到这一点:

aws s3api list-objects --bucket mybucketfoo --query "reverse(sort_by(Contents,&LastModified))"
Run Code Online (Sandbox Code Playgroud)

并通过UI控制台实现(不确定这是完成客户端还是服务器端)

我似乎无法在Boto3中看到如何做到这一点.

我目前正在获取所有文件,然后排序......但这似乎有点过头了,特别是如果我只关心10个左右的最新文件.

过滤系统似乎只接受s3的前缀,没有别的.

python amazon-s3 amazon-web-services python-3.x boto3

15
推荐指数
5
解决办法
2万
查看次数

Python:将字符串转换为时间戳,以微秒为单位

我想将字符串日期格式转换为微秒的时间戳我尝试以下但不给出预期的结果:

"""input string date -> 2014-08-01 04:41:52,117
expected result -> 1410748201.117"""

import time
import datetime

myDate = "2014-08-01 04:41:52,117"
timestamp = time.mktime(datetime.datetime.strptime(myDate, "%Y-%m-%d %H:%M:%S,%f").timetuple())

print timestamp
> 1410748201.0
Run Code Online (Sandbox Code Playgroud)

毫秒在哪里?

python datetime timestamp converter

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