我是靠谱客的博主 无私小熊猫,最近开发中收集的这篇文章主要介绍python如何分割年月日_将Python日期时间拆分为小时对齐的块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有一个datetime.datetime实例,d和一个datetime.timedelta实例td,我正在尝试编写一个将范围(d,d td)分解为[(d,x1),(x1,x2)的函数. ..,(xn,d td)],xn变量全部与小时对齐.

例如,如果

d = datetime.datetime(2012, 9, 8, 18, 53, 34)

td = datetime.timedelta(hours=2, minutes=34, seconds=5)

我想要一份清单

[(datetime.datetime(..., 18, 53, 34), datetime.datetime(..., 19, 0, 0)),

(datetime.datetime(..., 19, 0, 0), datetime.datetime(..., 20, 0, 0)),

(datetime.datetime(..., 20, 0, 0), datetime.datetime(..., 21, 0, 0)),

(datetime.datetime(..., 21, 0, 0), datetime.datetime(..., 21, 27, 39))]

任何人都可以建议一个很好的,Pythonic,完成这个的方法?

解决方法:

使用dateutil,您可以使用rrule生成列表:

import dateutil.rrule as rrule

import datetime

def hours_aligned(start, end, inc = True):

if inc: yield start

rule = rrule.rrule(rrule.HOURLY, byminute = 0, bysecond = 0, dtstart=start)

for x in rule.between(start, end, inc = False):

yield x

if inc: yield end

d = datetime.datetime(2012, 9, 8, 18, 53, 34)

td = datetime.timedelta(hours=2, minutes=34, seconds=5)

for x in hours_aligned(d,d+td):

print(x)

产量

2012-09-08 18:53:34

2012-09-08 19:00:00

2012-09-08 20:00:00

2012-09-08 21:00:00

2012-09-08 21:27:39

标签:python,datetime,split

来源: https://codeday.me/bug/20190613/1231894.html

最后

以上就是无私小熊猫为你收集整理的python如何分割年月日_将Python日期时间拆分为小时对齐的块的全部内容,希望文章能够帮你解决python如何分割年月日_将Python日期时间拆分为小时对齐的块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部