精华内容
下载资源
问答
  • 15.4.1 timedelta 数据类型
    2021-12-29 10:34:03

    datetime 模块还提供了 timedelta 数据类型,它表示一段时间,而不是一个时刻。
    在交互式环境中输入以下代码:


    ➊  >>>  delta  =  datetime.timedelta(days=11,  hours=10,  minutes=9,  seconds=8)
    ➋  >>>  delta.days,  delta.seconds,  delta.microseconds
    (11,  36548,  0)
    >>>  delta.total_seconds()
    986948.0
    >>>  str(delta)
    '11  days,  10:09:08'

    要创建 timedelta 对象,就用 datetime.timedelta()函数。datetime.timedelta()函数接受关键字参数 
    weeks、days、hours、minutes、seconds、milliseconds 和 microseconds。没有 month 和 year 
    关键字参数,因为“月”和“年”是可变的时间,依赖于特定月份或年份。timedelta 对象拥有的总时间以天、秒、微秒来表示。这些数字分别保存在 days、seconds 和 microseconds 
    属性中。total_seconds()方法返回只以秒表示的时间。将一个 timedelta 对象传入 str(),将返回格式良好的、人类可读的字符串表示。
    在这个例子中,我们将关键字参数传入 datetime.delta(),指定 11 天、10 小时、 9 分和 8 秒的时间,将返回的 timedelta 对象保存在 delta 
    中➊。该 timedelta 对象的 days 属性为 11,seconds 属性为 36548(10 小时、9 分钟、8 秒,以秒表示)➋。调


    用total_seconds()告诉我们,11 天、10 小时、9 分和 8 秒是 986948 秒。最后,将这个
    timedelta 对象传入 str(),返回一个字符串,明确解释了这段时间。
    算术运算符可以用于对 datetime 值进行日期运算。例如,要计算今天之后 1000
    天的日期,在交互式环境中输入以下代码:
    >>>  dt  =  datetime.datetime.now()
    >>>  dt
    datetime.datetime(2015,  2,  27,  18,  38,  50,  636181)
    >>>  thousandDays  =  datetime.timedelta(days=1000)
    >>>  dt  +  thousandDays
    datetime.datetime(2017,  11,  23,  18,  38,  50,  636181)
    首先,生成表示当前时刻的 datetime 对象,保存在 dt 中。然后生成一个timedelta对象,表示 1000 天,保存在 thousandDays 中。dt 与 thousandDays 
    相加,得到一个 datetime 对象,表示现在之后的 1000 天。Python 将完成日期运算,弄清楚 2015 年 2 月 27 日之后的 1000 天,将是 2017 年 11 月 23 
    日。这很有用,因为如果要从一个
    给定的日期计算 1000  天之后,需要记住每个月有多少天,闰年的因素和其他棘手的细节。datetime 模块为你处理所有这些问题。
    利用+和-运算符,timedelta 对象与 datetime 对象或其他 timedelta 对象相加或相减。利用*和/运算符,timedelta  
    对象可以乘以或除以整数或浮点数。在交互式环境中输入以下代码:


    ➊  >>>  oct21st  =  datetime.datetime(2015,  10,  21,  16,  29,  0)
    ➋  >>>  aboutThirtyYears  =  datetime.timedelta(days=365  *  30)
    >>>  oct21st
    datetime.datetime(2015,  10,  21,  16,  29)
    >>>  oct21st  -  aboutThirtyYears
    datetime.datetime(1985,  10,  28,  16,  29)
    >>>  oct21st  -  (2  *  aboutThirtyYears)
    datetime.datetime(1955,  11,  5,  16,  29)

    这里,我们生成了一个 DateTime 对象,表示 2015 年 10 月 21 日➊,以及一个 timedelta 对象,表示大约 30 年的时间(我们假设每年为 365 
    天)➋。从 oct21st 中减去 aboutThirtyYears,我们就得到一个 datetime 对象,表示 2015 年 10 月 21 日前 30年的一天。从 
    oct21st 中减去 2 * aboutThirtyYears,得到一个 datetime 对象,表示 2015年 10 月 21 日之前 60 年的一天。
     

    更多相关内容
  • Python timedelta

    2020-07-11 03:54:52
    Python timedelta object is used to perform datetime manipulations in an easy way. The timedelta class is part of datetime module. Python timedelta对象用于以简单的方式执行日期时间操作。 timedelta类是...

    Python timedelta object is used to perform datetime manipulations in an easy way. The timedelta class is part of datetime module.

    Python timedelta对象用于以简单的方式执行日期时间操作。 timedelta类是datetime模块的一部分。

    Pythoon timedelta (Pythoon timedelta)

    Python timedelta object represents a duration of time. We can create its object using following factory method.

    Python timedelta对象代表持续时间。 我们可以使用以下工厂方法创建其对象。

    datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

    Note that timedelta() function takes keyword arguments. All arguments are optional and default to 0. Arguments may be integers or floats and may be positive or negative.

    请注意,timedelta()函数采用关键字参数。 所有参数都是可选的,默认值为0。参数可以是整数或浮点数,并且可以是正数或负数。

    The timedelta object supports mathematical operations such as addition, subtraction, multiplication etc. using basic operators, so it’s very easy to use it. It’s mostly used to get a datetime object with some delta date and time.

    timedelta对象使用基本运算符支持数学运算,例如加法,减法,乘法等,因此非常易于使用。 它通常用于获取具有某些增量日期和时间的datetime对象。

    Python timedelta示例 (Python timedelta example)

    Let’s have a look at some examples of getting future dates and past dates using timedelta object.

    让我们看一些使用timedelta对象获取未来日期和过去日期的示例。

    from datetime import datetime, timedelta
    
    current_datetime = datetime.now()
    
    # future dates
    one_year_future_date = current_datetime + timedelta(days=365)
    
    print('Current Date:', current_datetime)
    print('One year from now Date:', one_year_future_date)
    
    # past dates
    three_days_before_date = current_datetime - timedelta(days=3)
    print('Three days before Date:', three_days_before_date)

    Output:

    输出:

    Current Date: 2018-09-18 12:33:30.656394
    One year from now Date: 2019-09-18 12:33:30.656394
    Three days before Date: 2018-09-15 12:33:30.656394

    带有日期和时间的Python timedelta (Python timedelta with date and time)

    Python timedelta supports addition and subtraction with date object too.

    Python timedelta也支持对date对象进行加减。

    dt = current_datetime.date()
    print('Current Date:', dt)
    dt_tomorrow = dt + timedelta(days=1)
    print('Tomorrow Date:', dt_tomorrow)

    Output:

    输出:

    Current Date: 2018-09-18
    Tomorrow Date: 2018-09-19

    However, timedelta doesn’t support the same operations with time object.

    但是,timedelta不支持与time对象相同的操作。

    tm = current_datetime.time()
    print('Current Time:', tm)
    tm_after_30_mins = tm + timedelta(minutes=30)

    Above code will produce the following error message.

    上面的代码将产生以下错误消息。

    TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta'

    Python timedelta属性 (Python timedelta attributes)

    Python timedelta class has three attributes.

    Python timedelta类具有三个属性。

    print(timedelta.max)
    print(timedelta.min)
    print(timedelta.resolution)

    Output:

    输出:

    999999999 days, 23:59:59.999999
    -999999999 days, 0:00:00
    0:00:00.000001

    Python timedelta总秒数 (Python timedelta total seconds)

    Python timedelta object total_seconds() method returns the total number of seconds.

    Python timedelta对象total_seconds()方法返回秒总数。

    print('Seconds in an year:', timedelta(days=365).total_seconds())

    Output: Seconds in an year: 31536000.0

    输出: Seconds in an year: 31536000.0

    Python timedelta操作 (Python timedelta operations)

    Let’s look at some more operations between timedelta objects.

    让我们看一下timedelta对象之间的更多操作。

    ct = current_datetime + timedelta(seconds=60) - timedelta(seconds=60)
    print(current_datetime == ct)
    
    ct = current_datetime + timedelta(seconds=10) * 6
    print('Current Time:', current_datetime)
    print('One Min from Current Time:', ct)
    
    print('Timedelta absolute value:', abs(timedelta(days=-10)))
    print('Timedelta String Representation:', str(timedelta(days=1, seconds=30, hours=10, milliseconds=300)))
    print('Timedelta Object Representation:', repr(timedelta(days=1, seconds=30, hours=10, milliseconds=300)))

    Output:

    输出:

    True
    Current Time: 2018-09-18 12:47:28.331197
    One Min from Current Time: 2018-09-18 12:48:28.331197
    Timedelta absolute value: 10 days, 0:00:00
    Timedelta String Representation: 1 day, 10:00:30.300000
    Timedelta Object Representation: datetime.timedelta(days=1, seconds=36030, microseconds=300000)

    摘要 (Summary)

    Python timedelta object is very useful for datetime manipulations. The support for basic arithmetic operators makes it very easy to use.

    Python timedelta对象对于日期时间操作非常有用。 基本算术运算符的支持使其非常易于使用。

    GitHub Repository. GitHub存储库中检出完整的python脚本和更多Python示例。

    Reference: Official Documentation

    参考: 官方文档

    翻译自: https://www.journaldev.com/23334/python-timedelta

    展开全文
  • 可以使用 datetime.timedelta 1) 将时间转化为字符串形式 可以看出直接将两个字符串格式的时间做差报错。 2)不转换为字符串 可以看出结果是 timedelta() 可以这样写在程序中不好取值呀,因此可以使用函数 ...

    目录

    一、需求

    二、实现

    三、补充


    一、需求

    需要实现一个小功能,求两个时间差,如果大于某个值,就做下一步操作,否则等待。

    二、实现

    可以使用 datetime.timedelta

    1) 将时间转化为字符串形式

    可以看出直接将两个字符串格式的时间做差报错。

    2)不转换为字符串

    可以看出结果是 timedelta()

    可以这样写在程序中不好取值呀,因此可以使用函数 total_seconds(),函数返回值为 float 类型。

    以上,问题解决~

    三、补充

    datetime.timedelta 除了 total_seconds() 还有哪些参数呢,可以在终端使用 help 来查看:

    help(datetime.timedelta)



    Help on class timedelta in module datetime:

    class timedelta(builtins.object)
     |  Difference between two datetime values.
     |
     |  timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
     |
     |  All arguments are optional and default to 0.
     |  Arguments may be integers or floats, and may be positive or negative.
     |
     |  Methods defined here:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      self != 0
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
    :...skipping...
    Help on class timedelta in module datetime:

    class timedelta(builtins.object)
     |  Difference between two datetime values.
     |
     |  timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
     |
     |  All arguments are optional and default to 0.
     |  Arguments may be integers or floats, and may be positive or negative.
     |
     |  Methods defined here:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      self != 0
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
    :...skipping...
    Help on class timedelta in module datetime:

    class timedelta(builtins.object)
     |  Difference between two datetime values.
     |
     |  timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
     |
     |  All arguments are optional and default to 0.
     |  Arguments may be integers or floats, and may be positive or negative.
     |
     |  Methods defined here:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      self != 0
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |
     |  __repr__(self, /)
     |      Return repr(self).
    Help on class timedelta in module datetime:

    class timedelta(builtins.object)
     |  Difference between two datetime values.
     |
     |  timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, ho
    urs=0, weeks=0)
     |
     |  All arguments are optional and default to 0.
     |  Arguments may be integers or floats, and may be positive or negative.
     |
     |  Methods defined here:
     |
     |  __abs__(self, /)
     |      abs(self)
     |
     |  __add__(self, value, /)
     |      Return self+value.
     |
     |  __bool__(self, /)
     |      self != 0
     |
     |  __divmod__(self, value, /)
     |      Return divmod(self, value).
     |
     |  __eq__(self, value, /)
     |      Return self==value.
     |
     |  __floordiv__(self, value, /)
     |      Return self//value.
     |
     |  __ge__(self, value, /)
     |      Return self>=value.
     |
     |  __getattribute__(self, name, /)
     |      Return getattr(self, name).
     |
     |  __gt__(self, value, /)
     |      Return self>value.
     |
     |  __hash__(self, /)
     |      Return hash(self).
     |
     |  __le__(self, value, /)
     |      Return self<=value.
     |
     |  __lt__(self, value, /)
     |      Return self<value.
     |
     |  __mod__(self, value, /)
     |      Return self%value.
     |
     |  __mul__(self, value, /)
     |      Return self*value.
     |
     |  __ne__(self, value, /)
     |      Return self!=value.
     |
     |  __neg__(self, /)
     |      -self
     |
     |  __pos__(self, /)
     |      +self
     |
     |  __radd__(self, value, /)
     |      Return value+self.
     |
     |  __rdivmod__(self, value, /)
     |      Return divmod(value, self).
     |
     |  __reduce__(...)
     |      __reduce__() -> (cls, state)
     |
     |  __repr__(self, /)
     |      Return repr(self).
     |
     |  __rfloordiv__(self, value, /)
     |      Return value//self.
     |
     |  __rmod__(self, value, /)
     |      Return value%self.
     |
     |  __rmul__(self, value, /)
     |      Return value*self.
     |
     |  __rsub__(self, value, /)
     |      Return value-self.
     |
     |  __rtruediv__(self, value, /)
     |      Return value/self.
     |
     |  __str__(self, /)
     |      Return str(self).
     |
     |  __sub__(self, value, /)
     |      Return self-value.
     |
     |  __truediv__(self, value, /)
     |      Return self/value.
     |
     |  total_seconds(...)
     |      Total seconds in the duration.
     |
     |  ----------------------------------------------------------------------
     |  Static methods defined here:
     |
     |  __new__(*args, **kwargs) from builtins.type
     |      Create and return a new object.  See help(type) for accurate signature
    .
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors defined here:
     |
     |  days
     |      Number of days.
     |
     |  microseconds
     |      Number of microseconds (>= 0 and less than 1 second).
     |
     |  seconds
     |      Number of seconds (>= 0 and less than 1 day).
     |
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |
     |  max = datetime.timedelta(days=999999999, seconds=86399, microseconds=9...
     |
     |  min = datetime.timedelta(days=-999999999)
     |
     |  resolution = datetime.timedelta(microseconds=1)
    (END)

    展开全文
  • Python中timedelta类型的理解 逻辑: timedelta = datetime1-datetime2 理解:一个时间等于两个时刻做差 代码 import datetime if __name__ == '__main__': datetime1 = datetime.datetime.strptime('12:10:00',...

    Python中timedelta类型的理解



    逻辑:

    timedelta = datetime1-datetime2
    理解:一个时间等于两个时刻做差





    代码

    
    import datetime
    
    if __name__ == '__main__':
        datetime1 = datetime.datetime.strptime('12:10:00', '%H:%M:%S')
        datetime2 = datetime.datetime.strptime('12:00:00', '%H:%M:%S')
        timedelta = datetime1-datetime2
        print(timedelta)
    
    
    

    在这里插入图片描述


    import datetime
    
    
    
    if __name__ == '__main__':
        timedelta1 = datetime.timedelta()
        print(timedelta1)
    
    
        timedelta2 = datetime.timedelta(hours=18, minutes=0)
        print(timedelta2)
    
    
    
    

    在这里插入图片描述



    展开全文
  • 我需要计算它们之间的timedelta,然后以spcific格式显示输出.Alpha_TimeObj = datetime.datetime(int(AlphaTime.strftime('%Y')), int(AlphaTime.strftime('%m')), int(AlphaTime.strftime('%d')), int(AlphaTime....
  • Timedelta

    2020-12-25 21:06:38
    <div><p>Timedelta field backed by a float() <p>Note - contains the fix_errors fix, so that CI will pass.</p><p>该提问来源于开源项目:kiddouk/redisco</p></div>
  • timedelta转换int

    2021-03-05 15:04:39
    timedelta类型转换 timedalte是Python中datetime的一个对象,该对象表示两个时间的差值。 1.计算两个时间相差多少天 import datetime begin = datetime.datetime.strptime('2021-3-1 18:20:20', '%Y-%m-%d %H:%M:%...
  • timedelta.max:正数最大时间差,相当于timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)。 timedelta.resolution:两个时间的最小差值相当于timedelta(microseconds=1)。 5....
  • timedelta做时间运算,包括加减乘除,甚是方便。timedelta精度从天到毫秒。本文结合实例介绍timedelta的用法。1. 一个实例先来个实例。假设我有公共交通的时刻表,包含车辆进站和出站的时刻(A表示departure, D表示...
  • Python timedelta在几年

    2020-12-03 13:18:48
    你需要多一个timedelta来告诉多少年过去了;你还需要知道开始(或结束)日期。 (这是一个闰年事。)最好的办法是使用dateutil.relativedelta object,但这是一个第三方模块。如果你想知道datetime从某个日期n年(默认到...
  • /usr/bin/python# coding=utf-8from datetime import datetime,timedelta"""timedelta代表两个datetime之间的时间差"""now = datetime.now()past = past = datetime(2010,11,12,13,14,15,16)timespan = now - past#...
  • timedelta

    2017-04-12 14:30:15
    start=datetime(2017,4,12) start+timedelta(10000) Out[65]: datetime.datetime(2044, 8, 28, 0, 0)
  • python timedelta减法行为

    2020-12-10 06:07:51
    这个问题起源于我遇到(another thread)关于python的datetime和timedelta实例时我用jimgardener跟踪更新,用eyquem阅读注释,并尝试了一些python代码..我不太理解这里的工作方式(由于我的python新手的状态)…我认为...
  • I'd like to be able to do the following:num_intervals = (cur_date - previous_date) / interval_lengthorprint (datetime.now() - (datetime.now() - timedelta(days=5)))/ timedelta(hours=12)# won't run, wou...
  • # 2:12:22.091281 # 时间差转换成秒 timedelta_seconds = (time1 - time2).seconds print('timedelta_seconds:', timedelta_seconds, type(timedelta_seconds)) # timedelta_seconds: 1513 # 时间差转换成日 ...
  • 【Python】timedelta类详解

    千次阅读 2020-08-30 23:57:43
    timedelta类表示时间差,可以直接实例化得到,也可以由两个datetime类型的数据做差得到 导入 from datetime import timedelta 参数 实例化timedelta类时参数依次是: days, seconds, microseconds, milliseconds, ...
  • .values-dfx['x'].values) / np.timedelta64(1, 'D') # check results are identical assert (days_lambda(dfx).values == days_pd(dfx).values).all() assert (days_lambda(dfx).values == days_np(dfx)).all() dfx...
  • 本文介绍python时间模块 datetime (datetime、timedelta和timezone部分)的常用方法和属性
  • timedalte 是datetime中的一个对象,该对象表示两个时间的差值构造函数:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)其中参数都是可选,默认值为0其中: ...
  • >我绊倒了这个神奇的timedelta功能,并探索了文档和SO,但我不认为这是我正在寻找的. >我的想法是将时间戳从时代转换成秒,然后减去,但是如果减法是错误的顺序(不同的情况下,如果事件在将来),这将成为一个问题,我觉得...
  • round(((df['days']*24 + df['hours'])*60 + df['minutes'])/60,3) return df 还是和第一个封装的函数一样,传入data变量和相应的类型变量即可(这里就是timedelta类型变量),输出结果如下 至此完成了业务需求,接...
  • datetime.timedelta()

    2020-10-26 10:27:57
    import datetime dt = datetime.datetime now = dt.now() now.strftime("%Y-%m-%d %H:%M:%S") '2020-10-26 09:53:49' # 问100天前 是几月记号 星期几,这个时候就可以使用timedelta ...(now - datetime.timedelta(days
  • Pandas 时间差(Timedelta

    千次阅读 2020-04-04 13:34:01
    时间差(Timedelta)是时间上的差异,以不同的单位来表示。例如:日,小时,分钟,秒。它们可以是正值,也可以是负值。 可以使用各种参数创建Timedelta对象,如下所示 - 字符串 通过传递字符串,可以创建一个...
  • timedalte 是datetime中的一个对象,该对象表示两个时间的差值 begin_time = df['candle_begin_time'].iloc[0] end_time = df['candle_begin_time'].iloc[-1] num_days = (end_time - begin_time ).days
  • datetime.timedelta类介绍

    2020-03-03 21:07:08
    datetime.timedelta 对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象 python中datetime模块中的timedelta可以很轻松的算出指定天数前的具体日期。比如100天前是几号。 函数...
  • python中 timedelta() 的简单使用

    千次阅读 2021-04-19 04:58:39
    python中 timedelta() ,strftime() 的简单使用 学习内容: 1.datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) #这些参数的值默认为0,可根据需要自行更改 ...
  •   datatime模块是在time模块的基础之上做了封装,提供了更多更好用的类供我们使用,常用的有date、time、datetime、timedelta、tzinfo。但是为了更灵活的处理时间,最好是将time模块和datetime模块中的精髓学习到...
  • duration = end_date - start_date I get output like this: datetime.timedelta(0, 5, 41038) How do I convert this into normal time like: 10 minutes, 1hour like this 解决方案 There's no built-in formatter...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,474
精华内容 14,989
关键字:

Timedelta