我正在尝试使用没有前导零的一天格式化日期
%d它工作正常,但前导零
date_time.strftime("%d/%m/%y")
result: 04/01/11
Run Code Online (Sandbox Code Playgroud)
我用Google搜索并发现我应该使用%e而不是%d,但是执行以下操作会给我一个空字符串.
date_time.strftime("%e/%m/%y")
result:
Run Code Online (Sandbox Code Playgroud)
这与Ruby的版本有什么关系吗?我在Windows机器上使用v1.8.7.更重要的是,有没有另一种方法来完成一天没有领先零(更方便然后gsub)?
Col*_*III 27
如果你想在月份或日期中删除前导零,只需在格式前添加一个减号,如下所示:
Date.parse("2014/06/06").strftime("%Y/%-d/%-m")
Run Code Online (Sandbox Code Playgroud)
我之前在 Windows 上遇到过 strftime 问题,不支持与 unix 上完全相同的代码。
另外,我在 mac os x 上运行了以下命令:
> date_time.strftime("%e/%m/%y")
" 3/03/11"
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,零所在的位置有一个空格。调用 strftime后仍然需要处理字符串。
我想说,选择最安全的选择,在本例中为 %d,然后调用 gsub/trim 。