在一个 Ruby 1.9 程序中,我想将当前时间格式化为 Thu 1:51 PM
。在一天中的小时数(如本例中的 1
)上应该使用哪个格式代码?
Time.now.strftime '%a %I:%M %p' #=> "Thu 01:51 PM"
Time.now.strftime '%a %l:%M %p' #=> "Thu 1:51 PM"
%I
带有前导零 (01
)。 %l
带有前导空格 ( 1
)。 在strftime文档中,我没有看到其他格式化小时的代码。 我无法使用.lstrip
,因为空格位于字符串中间。 我可以使用.gsub(/ +/, " ")
,但我想知道是否有一种更简单,不那么繁琐的方法。
strftime
- date without leading 0?”的答案是关于Python中相同任务的,它说%-
只在Unix上工作。为什么“%-d”或“%-e”会去掉前导空格或零?说不兼容是因为Python调用底层操作系统的strftime
,这可能具有特定于平台的扩展。我不知道Ruby的strftime
是否相同。 - Rory O'Kane