2022年 11月 8日

python24小时12小时转换_在python中将12小时的时间格式转换为24小时的时间格式(保存当天的记录)…

I am trying to get the time difference between two stations , and since using 12-hour format will create chaos i tried using the following script to convert the whole list to 24-hour format

如果你只需要为相邻的项目找到一个时差,那么这一天并不重要:#!/usr/bin/env python

from datetime import datetime, timedelta

ZERO, DAY = timedelta(0), timedelta(days=1)

times = (datetime.strptime(time12h_string, ‘%I:%M %p’)

for time12h_string in Train_arrival_time[1:])

previous_time = next(times)

time_in_transit = [ZERO]

for time24h in times:

time24h = datetime.combine(previous_time, time24h.time())

while time24h < previous_time: # time on the next station should not be ealier

time24h += DAY

time_in_transit.append(time24h – previous_time + time_in_transit[-1])

previous_time = time24h

这里的time_in_transit是从有到达时间的第一个站点开始的站点之间的累计时间,即,time_in_transit[i]是第{}-第个站点的在途时间(该站点和第一个站点之间的时差)。它被计算为相邻站之间时间差的一系列部分和(如^{}),即:站点通过其在Train_arrival_time列表中的索引(与time_in_transit列表相比移动了一个)和/或它们的到达时间查看下面输出中的站列

(time24h – previous_time)是相邻站之间的时差,请看下面输出中的相邻列

time_in_transit[-1]是本系列的前一项(最后一项),它与Python中的time_in_transit[len(time_in_transit)-1]相同

当前项是“当前差异+累计和”的总和,请看下面输出中的总计列。在Is there any way to avoid getting the UTC date?

datetime.strptime()的结果是一个与任何时区都不对应的原始日期时间对象。如果你不知道具体的日期(年、月、日),那么谈论时区是没有意义的。在I am stuck on how shall I get the time difference between two stations on different days; viz, 09:30PM (day 1) and 12:15PM (day2)

很容易找到相邻车站之间的时间和在途总时间:

^{pr2}$

输出Station | Adjacent | Total

09:30 PM | 0:00:00 | 0:00:00

09:56 PM | 0:26:00 | 0:26:00

11:23 PM | 1:27:00 | 1:53:00

12:01 AM | 0:38:00 | 2:31:00

12:12 AM | 0:11:00 | 2:42:00

05:20 AM | 1:35:00 | 1 day, 7:50:00

06:00 AM | 0:40:00 | 1 day, 8:30:00

06:30 AM | 0:30:00 | 1 day, 9:00:00

要找出i-th和j-th站之间的时差:time_difference = time_in_transit[j] – time_in_transit[i]