我想在日期中添加一分钟,该日期是Hive时间戳格式的' YYYY-MM-DD HH24:MI:SS.FF6'使用Python
示例: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时间戳格式读取日期并为其添加一分钟?
答案 0 :(得分:3)
如果您可以将对象转换为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
进行其他修改,它会起作用。