python中时间间隔默认单位_Python中的自然时间间隔处理

在这里,它被转换成一个程序:import re, datetime

def get_seconds(text):

splitted_input = filter(None, re.split('[, ]', text))

assert len(splitted_input) % 2 == 0

grouped_input = zip(*(iter(splitted_input),) * 2)

# ⬆︎ This is tricky; see https://stackoverflow.com/questions/1624883/alternative-way-to-split-a-list-into-groups-of-n

kwargs = {

'year':0,

'month':0,

'day':0,

'hour':0,

'minute':0,

'second':0,

'microsecond':0,

}

for n, unit in grouped_input:

n = int(n)

if unit.startswith('y'):

kwargs['year'] += n

elif unit.startswith('mo'):

kwargs['month'] += n

elif unit.startswith('w'):

kwargs['day'] += 7*n

elif unit.startswith('d'):

kwargs['day'] += n

elif unit.startswith('h'):

kwargs['hour'] += n

elif unit.startswith('m'):

kwargs['minute'] += n

elif unit.startswith('s'):

kwargs['second'] += n

else:

assert False, unit

for k, v in kwargs:

kwargs[k] += getattr(now, k)

now = datetime.datetime.now()

return (datetime.datetime(**kwargs) - now).total_seconds()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值