//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)
:)
似乎对于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分析?(例如,结果可能是销售在日期和城市中线性最依赖).
查看zoneinfoPython 3.9 中的模块,我想知道它是否还提供了一个方便的选项来检索 Windows 上的本地时区(操作系统设置)。
在 GNU/Linux 上,你可以这样做
\nfrom datetime import datetime\nfrom zoneinfo import ZoneInfo\n\nnaive = datetime(2020, 6, 11, 12)\naware = naive.replace(tzinfo=ZoneInfo(\'localtime\'))\nRun Code Online (Sandbox Code Playgroud)\n但在 Windows 上,这会抛出
\n\n\nZoneInfoNotFoundError: \'未找到包含关键本地时间的时区\'
\n
那么我还需要使用第三方库吗?例如
\nimport time\nimport dateutil\n\ntzloc = dateutil.tz.gettz(time.tzname[time.daylight])\naware = naive.replace(tzinfo=tzloc)\nRun Code Online (Sandbox Code Playgroud)\n由于time.tzname[time.daylight]返回本地化名称(在我的例子中为德语,例如 \'Mitteleurop\xc3\xa4ische Sommerzeit\'),因此这也不起作用:
aware = naive.replace(tzinfo=ZoneInfo(tzloc))\nRun Code Online (Sandbox Code Playgroud)\n有什么想法吗?
\nps 要在 Python < 3.9 上尝试此操作,请使用backports(另请参阅此答案):
pip install backports.zoneinfo\npip install tzdata # needed on Windows\nRun Code Online (Sandbox Code Playgroud)\n 我试图将字符串时间戳转换为正确的日期时间对象.我遇到的问题是有一个时区偏移,我正在做的一切似乎都不起作用.
最终我想将字符串时间戳转换为我的机器时区中的日期时间对象.
# string timestamp
date = u"Fri, 16 Jul 2010 07:08:23 -0700"
Run Code Online (Sandbox Code Playgroud) 我有变量,其中包含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'.
我有时间数据,我正在使用它转换成时间戳
datetime.datetime.strptime(x,"%Y-%m-%d %H:%M:%S.%f")
Run Code Online (Sandbox Code Playgroud)
问题是,这会隐式加载 UTC 时间,当我尝试将其更改为本地时区时,它会添加/减去时间(将其转换)。
如何加载字符串作为时间戳并将其设置为本地时区(有夏令时)?
将mysql时间戳转换为python中的纪元时间 - 是否有一种简单的方法可以做到这一点?
我有一个带有表单的小型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.
我想转换2014-08-14 20:01:28.242成一个 unix 时间戳245293529385并用当前时间戳减去它,以便通过从 14 中减去这个值来确定已经过去了多少天并且最终剩余多少天。
场景:用户注册,我想倒计时剩余的试用天数。
我尝试索引包含日期的字段。
如何索引来自不同时区的日期?
我已经像这样设置了我的 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 值,但我无法获得正确的输出。
有没有人能够向我解释如何为我想要的每个时区获得正确的输出?
我有这个日期格式:
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 的日期/时间格式是什么?该文件没有格林威治标准时间。
我从伦敦的服务中提取数据,他们在伦敦当地时间给我日期和时间信息.冬天的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)