如何在python中将时间对象转换为分钟

2024-06-26 17:50:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python数据库(postgreSQL)的输出。时间编码为timestamptz。我们需要把时间转换成几分钟。你知道吗

2015-07-09 13:45:08.266520+00:00

例如,这将是825分钟。你知道吗

我对这个问题有意见日期时间。日期时间格式化,我只需要能够放下一切,但小时和分钟,然后转换成分钟。你知道吗

time_format = '%H:%M'

time1 = datetime.strptime('2015-07-09 13:45:08.266520+00:00', time_format)

所以我试着把一大串时间按一定的间隔排列。我需要这些时间是在短短的几分钟,以便做任何数学对他们,我不想再与时间混乱了。这就是为什么我要用60多分钟的时间把它们转换成几分钟。因为这是一个时间格式,我不能做任何的。你知道吗


Tags: 数据库format编码datetime间隔timepostgresql格式
3条回答

用时间上的参考点从DateTime中减去DateTime,从得到的TimeDelta中提取total_seconds,然后除以60。你知道吗

(您没有提供任何代码。所以我不能给出任何基于你的代码。)

dateutil在解析ISO 8601戳记时会遇到很多麻烦:

>>> import dateutil.parser
>>> dateutil.parser.parse('2015-07-09 13:45:08.266520+00:00')
datetime.datetime(2015, 7, 9, 13, 45, 8, 266520, tzinfo=tzutc())

因为你希望答案是“825分钟”,代数上,你必须寻找一个从一个时代标志的偏移量:

>>> import datetime as dt
>>> mark=dateutil.parser.parse('2015-07-09 13:45:08.266520+00:00')-dt.timedelta(minutes=825)
>>> mark
datetime.datetime(2015, 7, 9, 0, 0, 8, 266520, tzinfo=tzutc())

所以现在使用mark作为计算分钟偏移量的基础。(您可能想忽略基准时间标记中的微秒)

我明白你想做什么。所以你想把你从数据库得到的时间戳转换成分钟。基本上0:00就是0,1:00就是60,以此类推。你知道吗

时间戳是标准的,所以一个肮脏的黑客你可以做的只是拉你想要的相关信息的索引,并从那里去。你知道吗

time = "2015-07-09 13:45:08.266520+00:00"
data = time[11:18]
print data //Will be 13:45:08

然后你可以在那里做数据操作。你知道吗

相关问题 更多 >