首页 > 解决方案 > 需要帮助将 AM - PM 统计结束时间字符串转换为 Datetime 24hr

问题描述

我正在尝试将一些数据从 csv 转换为特定的 json 数据结构,并具有以下单独示例格式的字符串:“8:30AM - 12:30PM”“12:00PM - 2:00PM”其中“-”之前的时间是开始时间,“-”之后的时间是结束时间。我一直在尝试将它们分成 24 小时格式的 startTime 和 endTime 两个变量。例子:

开始时间 = 0830 结束时间 = 1230

开始时间 = 1200 结束时间 = 1400

标签: pythonjsondictionarytimetype-conversion

解决方案


def get_24_format(time):
    timeinstr = ""
    if len(time.split(":")[0]) is 1:
        if time[len(time)-2] == 'A':
            timeinstr += "0{}".format(time.split(":")[0])
        else:
            timeinstr += "{}".format(int(time.split(":")[0])+12)
    else:
        if time[len(time)-2] == 'A':    
            timeinstr += "{}".format(time.split(":")[0])
        else:
            timeinstr += "{}".format(int(time.split(":")[0])+12)
    timeinstr += time.split(":")[1][:2]
    return timeinstr


# input your time here
# time = "11:00PM - 2:00AM" 
time = time.split("-")
time[0] = time[0].rstrip()
time[1] = time[1].lstrip()

timeinstr = "starttime " + get_24_format(time[0]) + " endtime " + get_24_format(time[1])

print(timeinstr)

推荐阅读