我有这种数据

0     "30-01-2018 18:46 pm"
1     "30-01-2018 01:25 am"
2     "2018-01-29 20:57 pm"
3     "29-01-2018 18:23 pm"
4     "01-29-2018 15:53 pm"


这是所有这些行的格式,每一行都不同

如何删除ampm

可能吗?

提前致谢

最佳答案

因为您有两种格式可以在几乎一半的日期(format='%d-%m-%Y %H:%M %p'和format='%m-%d-%Y %H:%M %p')中按词法互换,所以此任务在逻辑,数学和证明上都是不可能的。您无法确定该月13日之前任何一个月的任何日期在这两种格式之间使用哪种格式。结果格式对于日期或日期是格式的第一项还是歧义的,因此,如果不对使用的格式作一些粗略的假设,就无法进行转置。这些假设可能很好用,但同样有可能会错误地解析所有日期。在当前使用的基于excel的方法中也是如此。请检查您使用此方法生成的数据的每一项,因为它们可能包含不正确的解析信息。

如果您确定自己实际使用的是哪种格式,或者是确定合适格式的另一种方法,请随时提出其他问题,我相信社区会为您提供帮助。

如果它们只是字符串,则可以使用以下命令从它们中删除ampm

# get your date somehow.
my_date = "01-29-2018 15:53 pm"
if my_date.endswith(" pm") or my_date.endswith(" am"):
    my_date = my_date[:-3]
print(my_date)

>>> 01-29-2018 15:53

关于python - 如何在python中设置时间戳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56709522/

10-14 15:57
查看更多