有没有一种简单的方法可以从日期时间获取一年中的小时数?
dt = datetime(2019, 1, 3, 00, 00, 00) # 03/01/2019 00:00
dt_hour = dt.hour_of_year() # should be something like that
Run Code Online (Sandbox Code Playgroud)
预期输出: dt_hour = 48
获得minutes_of_year
和seconds_of_year
自己实现这一点的一种方法是:
def hour_of_year(dt):
beginning_of_year = datetime.datetime(dt.year, 1, 1, tzinfo=dt.tzinfo)
return (dt - beginning_of_year).total_seconds() // 3600
Run Code Online (Sandbox Code Playgroud)
这首先创建一个代表年份开始的新日期时间对象。然后,我们以秒为单位计算自年初以来的时间,除以 3600 并取整数部分以获得自年初以来经过的完整小时数。
请注意,使用对象days
的属性timedelta
将仅返回自年初以来的完整天数。
归档时间: |
|
查看次数: |
331 次 |
最近记录: |