精华内容
下载资源
问答
  • 2021-01-28 19:09:48

    我比较新的蟒蛇

    我有两个datetime对象.我需要计算它们之间的timedelta,然后以spcific格式显示输出.

    Alpha_TimeObj = datetime.datetime(int(AlphaTime.strftime('%Y')), int(AlphaTime.strftime('%m')), int(AlphaTime.strftime('%d')), int(AlphaTime.strftime('%H')), int(AlphaTime.strftime('%M')), int(AlphaTime.strftime('%S')))

    Beta_TimeObj = datetime.datetime(int(BetaTime.strftime('%Y')), int(BetaTime.strftime('%m')), int(BetaTime.strftime('%d')), int(BetaTime.strftime('%H')), int(BetaTime.strftime('%M')), int(BetaTime.strftime('%S')))

    Turnaround_TimeObj = Beta_TimeObj - Alpha_TimeObj

    这个Turnaround_TimeObj时间增量的一个例子是“2天,22:13:45”.

    我想格式化输出,但不能这样做.

    print Turnaround_TimeObj.strftime('%H hrs %M mins %S secs')

    不起作用

    我知道这样做的一种方法是将其转换为秒,然后将divmodding转换为获得所需的格式.

    像在

    totalSeconds = Turnaround_TimeObj.seconds

    hours, remainder = divmod(totalSeconds, 3600)

    minutes, seconds = divmod(remainder, 60)

    print '%s:%s:%s' % (hours, minutes, seconds)

    但我想知道我是否可以使用任何日期时间函数(如strftime)在单行中执行此操作.

    编辑:实际转换为秒也不起作用.

    如果我将时间增量“1天,3:42:54”转换为秒使用

    totalSeconds = Turnaround_TimeObj.seconds

    totalSeconds值显示为13374而不是99774. ie.它忽略了“天”的价值.

    更多相关内容
  • 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

    展开全文
  • Python timedelta在几年

    2020-12-03 13:18:48
    你需要多一个timedelta来告诉多少年过去了;你还需要知道开始(或结束)日期。 (这是一个闰年事。)最好的办法是使用dateutil.relativedelta object,但这是一个第三方模块。如果你想知道datetime从某个日期n年(默认到...

    你需要多一个timedelta来告诉多少年过去了;你还需要知道开始(或结束)日期。 (这是一个闰年事。)

    最好的办法是使用dateutil.relativedelta object,但这是一个第三方模块。如果你想知道datetime从某个日期n年(默认到现在),你可以做以下::

    from dateutil.relativedelta import relativedelta

    def yearsago(years, from_date=None):

    if from_date is None:

    from_date = datetime.now()

    return from_date - relativedelta(years=years)

    如果你宁愿坚持使用标准库,答案是有点复杂::

    from datetime import datetime

    def yearsago(years, from_date=None):

    if from_date is None:

    from_date = datetime.now()

    try:

    return from_date.replace(year=from_date.year - years)

    except ValueError:

    # Must be 2/29!

    assert from_date.month == 2 and from_date.day == 29 # can be removed

    return from_date.replace(month=2, day=28,

    year=from_date.year-years)

    如果是2/29,和18年前没有2/29,这个函数将返回2/28。如果你宁愿返回3/1,只需更改最后一个return语句为:

    return from_date.replace(month=3, day=1,

    year=from_date.year-years)

    你的问题最初是说你想知道自从某个日期以来有多少年。假设你想要一个整数年,你可以猜测基于每年365.25天,然后检查使用以上定义的yearsgo函数::

    def num_years(begin, end=None):

    if end is None:

    end = datetime.now()

    num_years = int((end - begin).days / 365.25)

    if begin > yearsago(num_years, end):

    return num_years - 1

    else:

    return num_years

    展开全文
  • Python timedelta.total_seconds()方法 (Python timedelta.total_seconds() Method) timedelta.timedeltotal_seconds() method is used in the timedelta class of module datetime. timedelta.timedeltotal_...

    Python timedelta.total_seconds()方法 (Python timedelta.total_seconds() Method)

    timedelta.timedeltotal_seconds() method is used in the timedelta class of module datetime.

    timedelta.timedeltotal_seconds()方法在模块datetimetimedelta类中使用。

    It uses an instance of the class and returns the total number of seconds covered in the given duration of that time instance.

    它使用该类的实例,并返回在该时间实例的给定持续时间内覆盖的总秒数。

    Module:

    模块:

        import datetime
    
    

    Class:

    类:

        from datetime import timedelta
    
    

    Syntax:

    句法:

        total_seconds()
    
    

    Parameter(s):

    参数:

    • None

      没有

    Return value:

    返回值:

    The return type of this method is a number which is the total number of seconds covered in that period.

    此方法的返回类型是一个数字,该数字是该时间段内覆盖的总秒数。

    Example:

    例:

    ## Python program to illustrate 
    ## the use of total_seconds function
    from datetime import time, timedelta  
        
    ## total_seconds function
    x = timedelta(minutes = 2*15)
    total = x.total_seconds()
    print("Total seconds in 30 minutes:", total)
    print()
    
    ## time can be negative also 
    x = timedelta(minutes = -2*15)
    total = x.total_seconds()
    print("Total seconds:", total)
    print()
    
    x = timedelta(days = 1, minutes = 50, seconds = 56)
    total = x.total_seconds()
    print("Total seconds in the given duration:", total)
    print()
    
    x = timedelta(hours=1,minutes= 50,seconds= 40)
    y = timedelta(hours=10,minutes= 20,seconds= 39)
    d = y-x
    print("Total seconds covered in subtracting:", d.total_seconds())
    print()
    
    x = timedelta(hours=1,minutes= 50,seconds= 40)
    y = timedelta(hours=10,minutes= 20,seconds= 39)
    d = y+x
    print("Total seconds covered in adding:", d.total_seconds())
    print()
    
    x = timedelta(hours=1,minutes= 50,seconds= 40)
    y = timedelta(hours=10,minutes= 20,seconds= 39)
    d = y%x
    print("Total seconds remaining when y is divided by x", d.total_seconds())
    print()
    
    

    Output

    输出量

    Total seconds in 30 minutes: 1800.0
    
    Total seconds: -1800.0
    
    Total seconds in the given duration: 89456.0
    
    Total seconds covered in subtracting: 30599.0
    
    Total seconds covered in adding: 43879.0
    
    Total seconds remaining when y is divided by x 4039.0
    
    
    

    翻译自: https://www.includehelp.com/python/timedelta-total_seconds-method-with-example.aspx

    展开全文
  • python timedelta

    千次阅读 2018-07-18 21:41:49
    datetime.timedelta对象代表两个时间之间的的时间差,两个date或datetime对象相减时可以返回一个timedelta对象。  time1 # datetime.datetime(2018, 7, 18, 21, 28, 27, 680453) c=datetime.now()-time1 type(c) ...
  • Python timedelta中提取天数

    千次阅读 2021-06-27 06:00:09
    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
  • Python timedelta(转)

    千次阅读 2017-11-04 21:59:15
    datetime.timedelta对象代表两个时间之间的的时间差,两个date或datetime对象相减时可以返回一个timedelta对象。 构造函数:class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, ...
  • 可以使用 datetime.timedelta 1) 将时间转化为字符串形式 可以看出直接将两个字符串格式的时间做差报错。 2)不转换为字符串 可以看出结果是 timedelta() 可以这样写在程序中不好取值呀,因此可以使用函数 ...
  • 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • Python timedelta模块 时间增减用法

    千次阅读 2019-05-13 10:30:48
    构造函数:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) 其中参数都是可选,默认值为0 其中: 1 millisecond = 1000 microseconds 1...
  • pythonTimeDelta转int

    2020-07-23 18:48:27
    td.days td.seconds
  • timedelta 只能计算如下参数的 timedelta参数如下: days=0 天数, seconds=0 秒数, microseconds=0 微秒;百万分之一秒, milliseconds=0 毫秒;千分之一秒, minutes=0 分钟数, hours=0 小时数, weeks=0 周数; 参数为1...
  • pythontimedelta() 的简单使用

    千次阅读 2021-04-19 04:58:39
    pythontimedelta() ,strftime() 的简单使用 学习内容: 1.datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0) #这些参数的值默认为0,可根据需要自行更改 ...
  • Pythontimedelta类型的理解 逻辑: timedelta = datetime1-datetime2 理解:一个时间等于两个时刻做差 代码 import datetime if __name__ == '__main__': datetime1 = datetime.datetime.strptime('12:10:00',...
  • # Python 3.6.0, Pandas 0.19.2, NumPy 1.11.3 def days_lambda(dfx): return (dfx['y']-dfx['x']).apply(lambda x: x.days) def days_pd(dfx): return (dfx['y']-dfx['x']).dt.days def days_np(dfx): return (dfx...
  • python抽取timedelta中的天数、小时、分钟、秒钟信息 目录 python抽取timedelta中的天数、小时、分钟、秒钟信息 timedalta #示例的timedelta(只有天数和秒数显示) #抽取timedelta中的天数、小时、分钟、...
  • 我花了过去一小时挖掘Python文档和许多SO问题;请原谅我是另一个Python新手被Python时代的谜团所困扰.我的目标是确定当前时间和某个日期/时间之间的差异,而不管过去/将来,并返回可执行的格式,如秒.例如,如果输入是...
  • timedelta做时间运算,包括加减乘除,甚是方便。timedelta精度从天到毫秒。本文结合实例介绍timedelta的用法。1. 一个实例先来个实例。假设我有公共交通的时刻表,包含车辆进站和出站的时刻(A表示departure, D表示...
  • Pythontimedelta类详解

    千次阅读 2020-08-30 23:57:43
    timedelta类表示时间差,可以直接实例化得到,也可以由两个datetime类型的数据做差得到 导入 from datetime import timedelta 参数 实例化timedelta类时参数依次是: days, seconds, microseconds, milliseconds, ...
  • PythonTimedelta转换为Int或Float

    千次阅读 2020-08-04 10:08:50
    dataSet['t'] =dataSet['time'].astype('timedelta64[D]').astype(float) dataSet['t'] .head() 二、Numpy处理 import numpy as np dataSet['t']=(dataSet['time']/np.timedelta64(1, 'D')).astype(float) ...
  • python timedelta减法行为

    2020-12-10 06:07:51
    这个问题起源于我遇到(another thread)关于python的datetime和timedelta实例时我用jimgardener跟踪更新,用eyquem阅读注释,并尝试了一些python代码..我不太理解这里的工作方式(由于我的python新手的状态)…我认为...
  • python timedelta() 和relativedelta()的区别

    万次阅读 2020-01-07 19:38:48
    python timedelta() 和relativedelta()的区别 timedelta()函数仅支持days和weeks参数 而relativedelta()函数可以支持年 、月、日、周、时、分、秒的参数 import datetime from dateutil.relativedelta import ...
  • 对于python中的时间获取,我们最近学习的datetime模块可以解决。在这个模块中还有许多函数可以供我们使用,比如时间的差值,就可以选择对应的timedalte函数。这个函数比较特殊,有三种只读属性。下面我们就timedalte...
  • python学习之timedelta

    万次阅读 2018-06-05 17:48:36
    一个timedelta对象表示一个时间长度,两个日期或者时间的差值class datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)所有的参数都是可选的,默认值为0,参数可以是...
  • 另外,存储为timedelta作为一个日期时间可以比这里给出的其他方法简单得多,方法是将其存储为与引用日期时间相距一定距离的日期时间,以便差异表示时间增量。这真的很容易,这要感谢datetime模块给我们的操作符重载。...
  • 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...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,666
精华内容 13,066
关键字:

python timedelta