繁体   English   中英

如何在Python中添加一分钟到Hive时间戳格式

[英]How to add a minute in Python to Hive timestamp format

我想用Python添加一分钟到Hive时间戳格式为'YYYY-MM-DD HH24:MI:SS.FF6'的日期

例:1)2015-01-15 08:59:16添加分钟后的日期应该成为2015-01-15 09:00:16 2)

为此,我从日期得到了一分钟,并用模60加上1:str((int(csvRowArray [1] [10:12])+ 1)%60)

这里csvRowArray [1]是字符串格式的日期。

分钟为59时出现问题,虽然它将分钟部分重置为0,但小时部分不会增加。 当小时是23:59并且我们添加一分钟,日期应该改变时,这也应该有效。如果日期是月末,小时是23:59,那么即使是月份也应该改变!

Python中是否有一个函数以Hive时间戳格式读取日期并为其添加一分钟?

如果您可以将对象转换为DateTime实例,将会有所帮助,因为这将允许您使用timedelta直接操作时间。 以你的例子'2015-01-15 08:59:16'为例

from datetime import datetime as dt
from datetime import timedelta
a='2015-01-15 08:59:16'
dt_obj = dt.strptime(a, '%Y-%m-%d %H:%M:%S')
dt_with_one_more_min = dt_obj + timedelta(minutes=1)
print('original time = {}'.format(dt_obj))
print('new time = {}'.format(dt_with_one_more_min))

这将得到以下结果:

original time = 2015-01-15 08:59:16
new time = 2015-01-15 09:00:16

我的例子是分钟,但你可以尝试使用timedelta其他修改,它会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM