加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

红宝石 – 如何在没有前导零或领先空间的情况下写下时间?

发布时间:2020-12-16 19:58:55 所属栏目:百科 来源:网络整理
导读:在 Ruby 1.9程序中,我想格式化当前的时间,如下午1:51.我应该在一天中使用什么格式的代码(在这个例子中为1)? Time.now.strftime '%a %I:%M %p' #= "Thu 01:51 PM"Time.now.strftime '%a %l:%M %p' #= "Thu 1:51 PM" %我有一个前导零(01). %l具有前导空间(1
在 Ruby 1.9程序中,我想格式化当前的时间,如下午1:51.我应该在一天中使用什么格式的代码(在这个例子中为1)?
Time.now.strftime '%a %I:%M %p' #=> "Thu 01:51 PM"
Time.now.strftime '%a %l:%M %p' #=> "Thu  1:51 PM"

%我有一个前导零(01). %l具有前导空间(1).我在strftime documentation中没有看到任何其他格式代码.我不能使用.lstrip,因为空格在字符串的中间.我可以使用.gsub(/ /,“”),但是我想知道是否有更少的黑客,更简单的方法.

解决方法

Time.now.strftime '%a %-l:%M %p' #=> "Thu 1:51 PM"

写入%-l而不是%l. – 带领空格和零.

您也可以使用其他格式代码. Ruby strftime文档甚至提到%-m和%-d,尽管没有提到可以使用任何代码.因此,%-I将给出与%-l相同的结果.但是我建议使用%-l,因为使用l而不是我,这意味着你不需要任何东西在开始 – 它写的空间看起来更加意外.

您还可以看到an exhaustive list of Ruby 1.8 strftime format codes,包括与 – 和类似的语法_和0.它说,Mac OS X上的Ruby 1.8不支持那些扩展语法,但不要担心:它们在我的OS X上的Ruby 1.9中工作机.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读