相关疑难解决方法(0)

转换为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万
查看次数

将日期转换为float以在Pandas数据框上进行线性回归

似乎对于OLS线性回归在Pandas中运行良好,参数必须是浮点数.我开始使用以下形式的csv(称为"gameAct.csv"):

date, city, players, sales

2014-04-28,London,111,1091.28

2014-04-29,London,100,1100.44

2014-04-28,Paris,87,1001.33

...
Run Code Online (Sandbox Code Playgroud)

我想对销售取决于日期的方式进行线性回归(随着时间的推移,销售如何移动?).我的代码下面的问题似乎是日期不是浮点值.我将非常感谢如何解决Pandas中的索引问题.

我目前的(非工作,但编译代码):

import pandas as pd

from pandas import DataFrame, Series

import statsmodels.formula.api as sm

df = pd.read_csv('gameAct.csv')

df.columns = ['date', 'city', 'players', 'sales']

city_data = df[df['city'] == 'London']

result = sm.ols(formula = 'sales ~ date', data = city_data).fit()
Run Code Online (Sandbox Code Playgroud)

当我改变城市价值时,我得到R ^ 2 = 1的结果,这是错误的.我也试图index_col = 0, parse_dates == True'定义dataframe df,但没有成功.

我怀疑有更好的方法来读取这些csv文件以执行日期的基本回归,以及更一般的时间序列分析.感谢帮助,示例和资源!

注意,使用上面的代码,如果我将日期索引(对于给定的城市)转换为数组,则此数组中的值具有以下形式:

'\xef\xbb\xbf2014-04-28'
Run Code Online (Sandbox Code Playgroud)

如何对所有非销售参数进行AIC分析?(例如,结果可能是销售在日期和城市中线性最依赖).

python time-series pandas

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

获取 Windows 上的本地时区名称 (Python 3.9 zoneinfo)

查看zoneinfoPython 3.9 中的模块,我想知道它是否还提供了一个方便的选项来检索 Windows 上的本地时区(操作系统设置)。

\n

在 GNU/Linux 上,你可以这样做

\n
from datetime import datetime\nfrom zoneinfo import ZoneInfo\n\nnaive = datetime(2020, 6, 11, 12)\naware = naive.replace(tzinfo=ZoneInfo(\'localtime\'))\n
Run Code Online (Sandbox Code Playgroud)\n

但在 Windows 上,这会抛出

\n
\n

ZoneInfoNotFoundError: \'未找到包含关键本地时间的时区\'

\n
\n

那么我还需要使用第三方库吗?例如

\n
import time\nimport dateutil\n\ntzloc = dateutil.tz.gettz(time.tzname[time.daylight])\naware = naive.replace(tzinfo=tzloc)\n
Run Code Online (Sandbox Code Playgroud)\n

由于time.tzname[time.daylight]返回本地化名称(在我的例子中为德语,例如 \'Mitteleurop\xc3\xa4ische Sommerzeit\'),因此这也不起作用:

\n
aware = naive.replace(tzinfo=ZoneInfo(tzloc))\n
Run Code Online (Sandbox Code Playgroud)\n

有什么想法吗?

\n
\n

ps 要在 Python < 3.9 上尝试此操作,请使用backports(另请参阅此答案):

\n
pip install backports.zoneinfo\npip install tzdata # needed on Windows\n
Run Code Online (Sandbox Code Playgroud)\n

python timezone datetime zoneinfo python-3.9

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

将字符串时间戳(带有时区偏移量)转换为本地时间..?蟒蛇

我试图将字符串时间戳转换为正确的日期时间对象.我遇到的问题是有一个时区偏移,我正在做的一切似乎都不起作用.

最终我想将字符串时间戳转换为我的机器时区中的日期时间对象.

# string timestamp     
date = u"Fri, 16 Jul 2010 07:08:23 -0700"
Run Code Online (Sandbox Code Playgroud)

python timezone datetime

9
推荐指数
2
解决办法
9143
查看次数

如何将datetime.time从UTC转换为不同的时区?

我有变量,其中包含UTC时间类型为datetime.time的时间,我希望它转换为其他时区.

我们可以在datetime.datetime实例中转换时区,如此SO链接所示 - 如何在Python中将本地时间转换为UTC?.我无法弄清楚如何在datetime.time实例中转换时区.我不能使用astimezone,因为datetime.time没有这个方法.

例如:

>>> t = d.datetime.now().time()
>>> t
datetime.time(12, 56, 44, 398402)
>>> 
Run Code Online (Sandbox Code Playgroud)

我需要UTC格式的't'.

python timezone datetime

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

使用 datetime.strptime 加载时指定时区

我有时间数据,我正在使用它转换成时间戳

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

问题是,这会隐式加载 UTC 时间,当我尝试将其更改为本地时区时,它会添加/减去时间(将其转换)。

如何加载字符串作为时间戳并将其设置为本地时区(有夏令时)?

python timezone datetime

8
推荐指数
1
解决办法
5670
查看次数

将mysql时间戳转换为python中的纪元时间

将mysql时间戳转换为python中的纪元时间 - 是否有一种简单的方法可以做到这一点?

python mysql time timestamp

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

Django DateTimeField从表单到UTC

我有一个带有表单的小型Django应用程序,它会将一些数据保存到数据库中.

这是表格:

class SomeForm(forms.Form):
    time = forms.DateTimeField()
...
Run Code Online (Sandbox Code Playgroud)

而视图,我保存它:

class AccountAddIncome(View):
    def save(self, form):
        model = Model(
            time=form.cleaned_data['time']
        )
        model.save()

    def post(self, request, *args, **kwargs):
        form = SomeForm(request.POST)
        if form.is_valid():
            self.save(form)
            return redirect(self.success_url)
        else:
            ...
Run Code Online (Sandbox Code Playgroud)

我的问题是,Django管理说:"请注意:您是提前服务器时间1小时." 我的Ubuntu(服务器)上
date命令与我的计算机完全相同.

但是,当我在DB中保存此对象时,请进行以下查询:

Model.objects.filter(time__lt=timezone.now())
Run Code Online (Sandbox Code Playgroud)

django不会列出以前保存的模型一小时.如果我去管理员,并将时间设置回一小时,django将显示该对象.

所以,我的问题是,在django中管理日期时间对象的最佳做法是什么?

我想以UTC格式保存所有内容,但我无法将该日期时间从表单转换为UTC.

python django datetime utc

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

python:将日期时间戳转换为纪元unix时间并计算剩余天数?

我想转换2014-08-14 20:01:28.242成一个 unix 时间戳245293529385并用当前时间戳减去它,以便通过从 14 中减去这个值来确定已经过去了多少天并且最终剩余多少天。

场景:用户注册,我想倒计时剩余的试用天数。

python

4
推荐指数
1
解决办法
6666
查看次数

Elasticsearch 中的日期时间 - 如何处理时区

我尝试索引包含日期的字段。

如何索引来自不同时区的日期?

我已经像这样设置了我的 elasticsearch 字段: 'requested_dt': {"type": "date", "format": "date_time_no_millis"} 'local_dt': {"type": "date", "format": "date_time_no_millis" "}

我试图索引这些值 (local_dt) :(requested_dt 是法国的当前时间)

IT 2016-10-27T23:46:17Z
GB 2016-10-27T22:46:19Z
Run Code Online (Sandbox Code Playgroud)

我没有通过 Kibana 得到预期的结果:

[local_dt]
IT October 28th 2016, 01:46:17.000
GB October 28th 2016, 00:46:19.000

[requested_dt]
IT October 27th 2016, 23:46:17.000
GB October 27th 2016, 23:46:19.000
Run Code Online (Sandbox Code Playgroud)

所以,对于requested_dt,我得到了我的期望。

对于local_dt,我没有得到我想要的。

我试图用 UTC 偏移量替换 Z 值,但我无法获得正确的输出。

有没有人能够向我解释如何为我想要的每个时区获得正确的输出?

timezone datetime elasticsearch timezone-offset kibana

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

python时区格林威治标准时间转换

我有这个日期格式:

Sat Apr 14 21:05:23 GMT-00:00 2018
Run Code Online (Sandbox Code Playgroud)

我想用来datetime存储这些数据。

datetime.datetime.strptime(dateString, '%a %b %d %H:%M:%S %Z %Y').timetuple()

GMT 的日期/时间格式是什么?该文件没有格林威治标准时间。

python timezone datetime

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

在python中如何将特定本地时间(不是我的本地)的日期时间转换为UTC

我从伦敦的服务中提取数据,他们在伦敦当地时间给我日期和时间信息.冬天的UTC和夏天的BST(UTC + 1).

在内部我们使用UTC作为一切,在Python中我如何将伦敦的东西转换为UTC以一种能够解决夏令时的方式?

我很欣赏DST翻转的某些时候是模棱两可的,只要它在今年剩下的时间里有效,这是可以接受的.

为了完整起见,我从他们那里得到以下信息:

dt="2012-10-12T19:30:00"
lcnid="LDN"
locale="en-gb"
Run Code Online (Sandbox Code Playgroud)

python datetime

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