将字符串分成两部分

时间:2016-02-03 23:42:45

标签: python python-2.7

我的代码需要一些帮助,我正在编写代码,因为我想创建变量来获取将时间从24小时转换为12小时的字符串。然后我想分割字符串以获得:之后的分钟。

示例:

当我的字符串显示为:

22:30
22:30
22:40
23:05
23:00
23:00
23:00

输出:

10:30 PM
10:30 PM
10:40 PM
11:05 PM
11:00 PM
11:00 PM
11:00 PM

所以当我尝试这个时:

stop_time = str(stop_date[1])

converts_time = time.strptime(stop_time, "%H:%M")
converts_time = time.strftime("%I").lstrip('0') + str(":") + str(stop_time.split(":")) + time.strftime("%p")

我会得到这个:

10:['22', '30'] PM
10:['22', '30'] PM
10:['22', '40'] PM
10:['23', '05'] PM
10:['23', '00'] PM
10:['23', '00'] PM
10:['23', '00'] PM

我希望使用lstrip方法在当前时间显示在PM时删除0,而当我的当前时间显示在AM时,我不希望使用lstrip。正如你可以看到我正在使用stop_time.split方法,我想将小时数从24小时转换为12小时然后我想在:之后拆分字符串以获得每个字符串的分钟以使其显示为:晚上10:30,晚上10:40 ......等我可以使用该变量与其他变量进行比较,看看时间是否小于。

请举例说明如何将时间从24小时转换为12小时,然后在:之后拆分字符串以获得AM或{{1}的分钟}?

1 个答案:

答案 0 :(得分:0)

你的问题来自你最后一行的结尾。当您使用拆分时,它返回两个字符串的列表。由于您只对第二个(索引1)感兴趣,因此可以通过在拆分函数后添加[1]来指定它。

SPACE_BETWEEN_KEYS_AND_VALUES = 1
MINIMUM_PADDING = 10
padded_width = max(MINIMUM_PADDING, max(len(x) for x in my_dict.iterkeys()) + SPACE_BETWEEN_KEYS_AND_VALUES)
for key in my_dict:
    print("{key: <{width}}{value}".format(key=key, width=padded_width, value=my_dict[key]))