标签: python-datetime

我怎样才能在Python中获得前一周的成绩?

我目前正在从周一开始到周日结束,但我怎样才能从周一开始到周日结束?这是我现在的本周:

>>> import datetime
>>> today = datetime.date.today()
>>> weekday = today.weekday()
>>> start_delta = datetime.timedelta(days=weekday)
>>> start_of_week = today - start_delta
>>> week_dates = []
>>> for day in range(7):
...     week_dates.append(start_of_week + datetime.timedelta(days=day))
...
>>> week_dates
[datetime.date(2013, 10, 28), datetime.date(2013, 10, 29), datetime.date(2013, 10, 30),     datetime.date(2013, 10, 31), datetime.date(2013, 11, 1), datetime.date(2013, 11, 2), datetime.date(2013, 11, 3)]
>>> week_dates[0], week_dates[-1]
(datetime.date(2013, 10, 28), datetime.date(2013, 11, 3)) <--- Monday, Sunday
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-datetime

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

类型错误:“datetime.datetime”和“str”的实例之间不支持“&gt;”

我是 python 日期和时间类型的新手。

我有一个日期值。

date = '2018-11-10 10:55:31+00:00'
Run Code Online (Sandbox Code Playgroud)

我需要检查此日期值是否早于 90 天。

我试过 :

from datetime import datetime
from datetime import timedelta

past = datetime.now() - timedelta(days=90)
date = '2018-11-10 10:55:31+00:00'

if past > date :
   print("This is older than 90 days")
Run Code Online (Sandbox Code Playgroud)

失败并出现以下错误:
TypeError: '>' not supported between instances of 'datetime.datetime' and 'str'

这可能是因为“过去”的日期格式和我传递的日期值不同。

我怎么能想出这个?

python string datetime python-datetime

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

给定一个日期范围,我们如何将其分解为N个连续的子区间?

我通过API访问一些数据,我需要为我的请求提供日期范围,例如.start ='20100101',end ='20150415'.我想我会通过将日期范围分解为非重叠间隔并在每个间隔上使用多处理来加快速度.

我的问题是我如何分解日期范围并不能始终如一地给我预期的结果.这是我做的:

from datetime import date

begin = '20100101'
end = '20101231'
Run Code Online (Sandbox Code Playgroud)

假设我们想把它分解成几个季度.首先,我将字符串更改为日期:

def get_yyyy_mm_dd(yyyymmdd):
    # given string 'yyyymmdd' return (yyyy, mm, dd)
    year = yyyymmdd[0:4]
    month = yyyymmdd[4:6]
    day = yyyymmdd[6:]
    return int(year), int(month), int(day)

y1, m1, d1 = get_yyyy_mm_dd(begin)
d1 = date(y1, m1, d1)
y2, m2, d2 = get_yyyy_mm_dd(end)
d2 = date(y2, m2, d2)
Run Code Online (Sandbox Code Playgroud)

然后将此范围划分为子间隔:

def remove_tack(dates_list):
    # given a list of dates in form YYYY-MM-DD return a list of strings in form 'YYYYMMDD'
    tackless = …
Run Code Online (Sandbox Code Playgroud)

python date python-2.7 python-datetime

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

为什么找不到Python日期时间delta?

我想用mmddyyyy格式制作一系列日期.日期将从当天开始,然后在未来两周内开始.所以这一切都取决于开始日期.当我运行我的代码时,我得到一个错误,指出:

Traceback (most recent call last):
File "timeTest.py", line 8, in <module>
day = datetime.timedelta(days=i)
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会这样,因为在网上搜索后,我注意到人们正在以这种方式使用'timedelta'.

这是我的代码:

import time
from datetime import datetime, date, time, timedelta

dayDates = []
today = datetime.now()
dayDates.append(today.strftime("%m%d%Y"))
for i in range(0,14):
    day = today + datetime.timedelta(days=i)
    print day
Run Code Online (Sandbox Code Playgroud)

python timedelta python-datetime

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

将带有时区的python日期时间转换为字符串

我有格式为的日期时间元组 datetime.datetime(2010, 7, 1, 0, 0, tzinfo=<UTC>)

如何将其转换为日期时间字符串,例如 2008-11-10 17:53:59

我真的只是在 tzinfo 部分受阻。

strftime("%Y-%m-%d %H:%M:%S") 没有 tzinfo 部分就可以正常工作

python django python-datetime

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

熊猫:将月份转换为下个月的第一天

我想知道是否有任何有效的方法或单线程,给定一个pandas DatetimeIndex date1,返回DatetimeIndex date2,这是下个月的第一天?

例如,如果date1是'2011-09-30',那么date2是'2011-10-01'?

我试过这个班轮

    df.index.to_period("M").to_timestamp('M')
Run Code Online (Sandbox Code Playgroud)

但这似乎只能回归​​"同月的最后一天".这里可以做一些日期时算术吗?

谢谢!

python-datetime pandas

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

在matplotlib中更改日期时间轴的格式

我有一个系列,其索引是datetime我想绘制的.我想在y轴上绘制系列的值,在x轴上绘制系列的索引.该Series如下外观:

2014-01-01     7
2014-02-01     8
2014-03-01     9
2014-04-01     8
...
Run Code Online (Sandbox Code Playgroud)

我使用生成图表plt.plot(series.index, series.values).但图表看起来像:

图形

问题是我想只有年和月.但是,图表包含小时,分钟和秒.如何删除它们以便获得所需的格式?

python datetime matplotlib python-datetime pandas

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

来自熊猫数据框日期对象的工作日名称

我想获得所有日期的工作日名称。我有一个 Pandas df,它的 Date 列格式为 datetime64[ns]

我试过以下

data['Date'].dt.weekday_name
Run Code Online (Sandbox Code Playgroud)

我得到了回应

data['Date'].dt.weekday_name
Traceback (most recent call last):

  File "<ipython-input-207-e57074c4e346>", line 1, in <module>
    data['Date'].dt.weekday_name

AttributeError: 'DatetimeProperties' object has no attribute 'weekday_name'
Run Code Online (Sandbox Code Playgroud)

请帮忙

python-3.x python-datetime

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

Python datetime.now() 作为默认函数参数在不同时间返回相同的值

现在我遇到了一些无法解释和解决的问题。
这是我的第一个 python 模块

时间助手.py

from datetime import datetime

def fun1(currentTime = datetime.now()):
    print(currentTime)
Run Code Online (Sandbox Code Playgroud)

另一个是

主要.py

from TimeHelper import fun1
import time

fun1()
time.sleep(5)
fun1()
Run Code Online (Sandbox Code Playgroud)

当我运行 Main.py 时,输出是
2020-06-16 09:17:52.316714
2020-06-16 09:17:52.316714

我的问题是为什么结果中的时间会相同?将 datetime.now() 传递给默认参数时是否有任何限制?

python python-3.x python-datetime

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

如何在Matplotlib中处理时区?

我有数据点,其横坐标是datetime.datetime具有时区的对象(它们tzinfo碰巧是bson.tz_util.FixedOffset通过MongoDB获得的).

当我用它们绘图时scatter(),刻度标签的时区是什么?

改变timezonematplotlibrc不改变显示的情节什么(我一定是误解了对时区的讨论的Matplotlib文档中).

我尝试了一点plot()(而不是scatter()).给定一个日期时,它会绘制它并忽略时区.但是,当给定多个日期时,它使用固定的时区,但是如何确定?我在文档中找不到任何内容.

最后,plot_date()应该是这些时区问题解决方案吗?

python timezone plot matplotlib python-datetime

10
推荐指数
2
解决办法
4941
查看次数