从Matplotlib DateForm中的时间中删除前导零

2024-05-19 00:02:37 发布

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

如果我使用Matplotlib日期格式化程序,如下所示:

mydateformatter = DateFormatter("%b %d %I:%M %p", self._tz)

我会得到这样的日期(注意时间部分有一个前导零):

2011年11月27日 下午3:00

相反,我想失去时代的领先优势(更人性化),比如:

2011年11月27日 3: 下午00点

有办法吗?在


Tags: self程序matplotlib时间tz人性化我会办法
1条回答
网友
1楼 · 发布于 2024-05-19 00:02:37

注意:请参阅编辑历史,了解下面评论中的讨论。这篇文章已经被改写以反映它们。

不能使用标准的日期转换说明符来完成,这些说明符列在python文档中(与C标准化的相同)。但是,可能有一些依赖于平台的方法来实现这种格式。像这样的代码可能会派上用场:

# Set the default spec to use   uglier is better than broken.
hour_fmt = '%I'

# If we're running on a platform that has an hour spec w/o leading zero
# then use that one instead.
if sys.platform.startswith('linux'):
    hour_fmt = '%l'
elif sys.platform.startswith('win'):
    hour_fmt = '%#I'
# etc

mydateformatter = DateFormatter("%b %d " + hour_fmt + ":%M %p", self._tz)

我已经确认%l可以在Linux上工作,而OP已经确认“%\\I`可以在Windows上工作。在

相关问题 更多 >

    热门问题