python中怎样划分时间段_如何划分重叠的日期时间间隔(组织模式时钟时间)?...

我有来自两个组织文件/子树的相关任务,其中一些时钟时间重叠。这些是一个手动工作日志和一个生成的git提交日志,请参见下面的内容。在

一个子树的时钟:条目需要调整以消除重叠时间。另一个子树被认为是完整的,并且它是CLOCK:entries不应该被调整。在

编辑:这个问题是关于计算新的时间间隔以消除任何重叠。任何建议都不需要解析Org模式的文件格式。Python日期时间。日期时间算法是有帮助的,无论是否使用Org模式函数,emacslisp都是有用的。

在Python(更熟悉)或Emacs Lisp(Org函数可以帮助)中,我希望:确定时间重叠

发生。file1.org是可变的,

file2.org时间间隔应为

被认为是固定的/正确的。

为计算新的时间间隔

时钟:file1.org中的行

消除与…的重叠

org时钟:行。

写入生成的新时钟:行

或者至少是相关的

日期时间。

python便利函数tsparse将Org模式的时间戳转换为python日期时间。日期时间对象:>>> from datetime import datetime, timedelta

>>> def tsparse(timestring): return datetime.strptime(timestring,'%Y-%m-%d %a %H:%M')

>>> tsparse('2008-10-15 Wed 00:45')

datetime.datetime(2008, 10, 15, 0, 45)

测试用例可以在下面找到。感谢您对Python或emacslisp的任何算法或实现建议。在

杰夫

file1.org,调整前:

^{pr2}$

file2.org:* Generated commit log

** DONE Commit 1 :partial:overlap:leading:contained:

CLOSED: [2009-09-09 Tue 10:18]

:LOGBOOK:

CLOCK: [2009-09-09 Wed 06:40]--[2009-09-09 Wed 07:18] => 0:38

CLOCK: [2009-09-09 Wed 10:12]--[2009-09-09 Wed 10:18] => 0:06

:END:

** DONE Commit 2 :contained:overlap:contiguous:

CLOSED: [2009-09-09 Wed 10:20]

:LOGBOOK:

CLOCK: [2009-09-09 Wed 10:18]--[2009-09-09 Wed 10:20] => 0:02

:END:

** DONE Commit 4 :contained:overlap:

CLOSED: [2009-09-10 Wed 09:53]

:LOGBOOK:

CLOCK: [2009-09-10 Wed 09:49]--[2009-09-10 Wed 09:53] => 0:04

:END:

** DONE Commit 5 :partial:overlap:trailing:

CLOSED: [2009-09-10 Wed 15:12]

:LOGBOOK:

CLOCK: [2009-09-10 Wed 14:45]--[2009-09-10 Wed 15:12] => 0:27

:END:

** DONE Commit 6 :partial:overlap:leading:

CLOSED: [2009-09-11 Fri 08:05]

:LOGBOOK:

CLOCK: [2009-09-11 Fri 07:50]--[2009-09-11 Fri 08:05] => 0:15

:END:

** DONE Commit 7 :nonoverlap:

CLOSED: [2009-09-11 Fri 15:55]

:LOGBOOK:

CLOCK: [2009-09-11 Fri 15:25]--[2009-09-11 Fri 15:55] => 0:30

:END:

file1.org,调整后:* Manually Edited Worklog

** DONE Onsite

CLOSED: [2009-09-09 Wed 15:00]

:LOGBOOK:

CLOCK: [2009-09-09 Wed 10:20]--[2009-09-09 Wed 14:45] => 4:25

CLOCK: [2009-09-09 Wed 07:18]--[2009-09-09 Wed 10:12] => 2:54

:END:

** DONE Onsite

CLOSED: [2009-09-10 Wed 15:00]

:LOGBOOK:

CLOCK: [2009-09-10 Thu 08:05]--[2009-09-10 Thu 15:00] => 6:55

:END:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值