相关疑难解决方法(0)

如何在Python中将本地时间转换为UTC?

如何将本地时间的日期时间字符串转换为UTC时间字符串

我确定我以前做过这个,但找不到它,所以希望能帮助我(以及其他人)在将来做到这一点.

澄清:例如,如果我2008-09-17 14:02:00在我的本地时区(+10)中,我想生成一个具有相同UTC时间的字符串:2008-09-17 04:02:00.

此外,请访问http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/,请注意,一般情况下这不可能与DST和其他问题一样,因此从当地时间到UTC时间.

python datetime utc localtime

284
推荐指数
13
解决办法
38万
查看次数

仅使用python标准库将python UTC日期时间转换为本地日期时间?

我有一个使用datetime.utcnow()创建并保存在数据库中的python datetime实例.

为了显示,我想使用默认的本地时区将从数据库检索的日期时间实例转换为本地日期时间(即,就像使用datetime.now()创建日期时间一样).

如何仅使用python标准库将UTC日期时间转换为本地日期时间(例如,没有pytz依赖项)?

似乎一个解决方案是使用datetime.astimezone(tz),但是如何获得默认的本地时区?

python timezone datetime python-datetime

150
推荐指数
6
解决办法
18万
查看次数

Python strptime()和时区?

我有一个使用IPDDump创建的Blackberry IPD备份的CSV转储文件.这里的日期/时间字符串看起来像这样(EST澳大利亚时区在哪里):

Tue Jun 22 07:46:22 EST 2010
Run Code Online (Sandbox Code Playgroud)

我需要能够在Python中解析这个日期.起初,我尝试使用strptime()datettime中的函数.

>>> datetime.datetime.strptime('Tue Jun 22 12:10:20 2010 EST', '%a %b %d %H:%M:%S %Y %Z')
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,返回的datetime对象似乎没有任何tzinfo关联它.

我在这个页面上读到的显然是datetime.strptime默默地丢弃了tzinfo,但是,我检查了文档,我找不到任何有关此处记录的效果.

我已经能够使用第三方Python库dateutil来解析日期,但是我仍然很好奇我是如何使用内置strptime()错误的?有什么方法可以strptime()很好地与时区玩吗?

python timezone datetime

141
推荐指数
4
解决办法
14万
查看次数

Python时区转换

我正在寻找一种快速输入时间的方法,然后python将其转换为其他时区(可能最多10个不同的时区)

抱歉.我根本不熟悉python中的时间,如果有人能把我放在正确的方向,我会非常感激.

python timezone

57
推荐指数
8
解决办法
9万
查看次数

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

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

python datetime

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

'ObjectId'对象没有属性'getTimeStamp'

我正在尝试从ObjectID获取时间戳,但Mongo一直给我这个错误.我错过了一个导入?将时间戳转换为标准日期格式的最佳方法是什么?

video['date'] = video['_id'].getTimeStamp()
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo

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

转换为UTC时间戳

//parses some string into that format.
datetime1 = datetime.strptime(somestring, "%Y-%m-%dT%H:%M:%S")

//gets the seconds from the above date.
timestamp1 = time.mktime(datetime1.timetuple())

//adds milliseconds to the above seconds.
timeInMillis = int(timestamp1) * 1000
Run Code Online (Sandbox Code Playgroud)

我如何(在该代码中的任何点)将日期转换为UTC格式?我一直在通过这个看起来像是一个世纪的API而无法找到任何我可以工作的东西.有人可以帮忙吗?目前它正在把它变成东部时间,我相信(但我是GMT但想要UTC).

编辑:我给了最接近我最终发现的人的答案.

datetime1 = datetime.strptime(somestring, someformat)
timeInSeconds = calendar.timegm(datetime1.utctimetuple())
timeInMillis = timeInSeconds * 1000
Run Code Online (Sandbox Code Playgroud)

:)

python datetime utc

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

如何使用python获取UTC日期时间,自动检测用户时区,并将日期时间转换为所需格式?

关于UTC日期时间转换有很多问题,似乎没有"最佳方式"的共识.

根据这个:http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/,pytz是最好的方式.他表示转换到这样的时区,datetime.datetime.utcnow().replace(tzinfo=pytz.utc)但他没有说如何获得用户的时区......

这家伙/sf/answers/522575161/说" localize调整夏令时,replace不"

我看到使用pytz的每个人都提供他们自己的时区(users_timezone = timezone("US/Pacific")),我不明白,因为你不知道这是你的观众在哪里...

这个家伙/sf/answers/334021341/有一种自动检测时区的方法,但这是使用dateutil库,而不是像Armin Ronacher和官方python docs(http)所推荐的pytz ://docs.python.org/library/datetime.html#strftime-and-strptime-behavior,就在黄色框中的锚点上方)

我需要的是最简单,面向未来的全天候节省时间/等等,考虑采用我的datetime.utcnow()标记(2012-08-25 10:59:56.511479),将其转换为用户的时区.并显示如下:

Aug 25 - 10:59AM
Run Code Online (Sandbox Code Playgroud)

如果今年不是当年,我想说

Aug 25 '11 - 10:59AM
Run Code Online (Sandbox Code Playgroud)

python timezone datetime utc

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

来自MongoDB ISODate的Pandas DatetimeIndex

我在使用时间/时区时遇到一些困难.我有表单的原始JSON数据

{
  "Date": "28 Sep 2009 00:00:00",
  ....
}
Run Code Online (Sandbox Code Playgroud)

然后将此数据加载到MongoDB中,并将此日期的字符串表示形式转换为JavaScript Date对象.此转换为UTC时间将导致以下日期

{
  "_id": ObjectId("577a788f4439e17afd4e21f7"),
  "Date": ISODate("2009-09-27T23:00:00Z")
}
Run Code Online (Sandbox Code Playgroud)

它"看起来"好像日期实际上已经向前移动一天,我假设(可能不正确)这是因为我的机器设置为爱尔兰标准时间.

然后我从MongoDB读取这些数据并用它来创建一个pandas DatetimeIndex

idx =  pd.DatetimeIndex([x['Date'] for x in test_docs], freq='D')
Run Code Online (Sandbox Code Playgroud)

这给了我

在此输入图像描述

这是不正确的,因为时间尚未从UTC正确转换回本地时间.所以我按照这个答案给出的解决方案

idx =  pd.DatetimeIndex([x['Date'] for x in test_docs], freq='D')
idx = idx.tz_localize(tz=tz.tzutc())
idx = idx.tz_convert(tz=tz.tzlocal())
frame = DataFrame(test_docs, index=idx)
frame = frame.drop('Date', 1)
Run Code Online (Sandbox Code Playgroud)

这给了我正确的一天

在此输入图像描述

然后我将DatetimeIndex 标准化,以便删除小时数,允许我按天分组所有条目.

frame.groupby(idx).sum()
Run Code Online (Sandbox Code Playgroud)

然而,在这一点上,发生了一些奇怪的事情.日期最终分组如下

在此输入图像描述

但这并不反映框架中的日期

在此输入图像描述

任何人都可以了解我可能出错的地方吗?


对@ptrj的回应

明确地将我的时区用作字符串

idx =  pd.DatetimeIndex([x['Date'] for x in test_docs], freq='D')
idx = …
Run Code Online (Sandbox Code Playgroud)

python time datetime mongodb pandas

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

python ISO 8601 日期格式

我正在尝试像这样格式化日期,

2015-12-02T12:57:17+00:00

这是我的代码

time.strftime("%Y-%m-%dT%H:%M:%S%z", time.gmtime())
Run Code Online (Sandbox Code Playgroud)

这给出了这个结果,

2015-12-02T12:57:17+0000

我看不到任何其他可以提供 +00:00 格式的 %z 变体?解决这个问题的正确方法是什么?

python iso8601 strftime

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

使用Python将时间从UTC转换为GMT

我正在写一个python应用程序,它将YML文件转换为我的博客的静态HTML页面(静态站点生成器).我想添加RSS提要.在某个地方,我读到发布日期必须是:

<pubDate>Wed, 05 Jul 2017 18:38:23 GMT</pubDate>
Run Code Online (Sandbox Code Playgroud)

但是我有:

<pubDate>2017-07-05T18:38:23+00:00</pubDate>
Run Code Online (Sandbox Code Playgroud)

datetime来自Python 的API对于这些来说非常麻烦.如何将字符串转换2017-07-05T18:38:23+00:00为GMT?

谢谢你的到来.

python datetime utc gmt

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