python dateformatter_python – 在Matplotlib DateFormatter中删除一天中的前导零

如果我使用Matplotlib DateFormatter,如下所示:

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

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

2011年11月27日

03:00 PM

相反,我想在时间上失去领先的零(更像人类那样),例如:

2011年11月27日

下午3:00

有没有办法做到这一点?

解决方法:

注意:请参阅编辑历史记录以了解下面评论中的讨论.这篇文章已被重写以反映它们.

它不能使用标准的日期转换说明符来完成,这些说明符在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上运行.

标签:python,matplotlib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值