6 ruby-on-rails ruby-on-rails-4
我收到这样的日期"14/04/17 07:00"
我只想得到这样的日期:14/04/2017
而且只有小时07:00
我尝试了这种方式,顺便说一句,我知道这是美国时间,它让我17/04/10
DateTime.parse(datetime).strftime("%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)
嗯,我在任何地方都找不到如何做到这一点?
感谢您的帮助
与建议:
my_date = DateTime.parse(datetime).strftime("%d/%m/%Y")
如果我在终端中这样做:
[1] pry(main)> O = Onduleur.last
Onduleur Load (0.2ms) SELECT "onduleurs".* FROM "onduleurs" ORDER BY "onduleurs"."id" DESC LIMIT ? [["LIMIT", 1]]
=> #<Onduleur:0x007fa6b70186e0
id: 144,
identifier: 2,
datetime: "11/04/17 23:00",
energy: 0,
created_at: Wed, 12 Apr 2017 15:17:04 UTC +00:00,
updated_at: Wed, 12 Apr 2017 15:17:04 UTC +00:00>
[2] pry(main)> my_date = DateTime.parse(O.datetime).strftime("%d/%m/%Y")
=> "17/04/2011"
[3] pry(main)>
Run Code Online (Sandbox Code Playgroud)
为了阅读,您可以使用strptime并指定格式:
datetime = "14/04/17 07:00"
DateTime.strptime(datetime, "%d/%m/%y %R")
=> Wed, 14 Apr 0017 07:00:00 +0000
Run Code Online (Sandbox Code Playgroud)
解释
%d - Day of the month, zero-padded (01..31)
%m - Month of the year, zero-padded (01..12)
%y - year % 100 (00..99)
%R - 24-hour time (%H:%M)
Run Code Online (Sandbox Code Playgroud)
要获取日期,您可以使用 DateTime 对象转换为 Date 对象to_date,或者.strftime("%d/%m/%Y")直接使用 DateTime 来获取 String。
[47] pry(main)> a
=> Fri, 14 Apr 2017 07:00:00 +0000
[48] pry(main)> a.to_date
=> Fri, 14 Apr 2017
[49] pry(main)> a.strftime("%d/%m/%Y")
=> "14/04/2017"
[50] pry(main)> a.strftime("%R")
=> "07:00"
Run Code Online (Sandbox Code Playgroud)
完整文档在这里。strftime 文档上还提供了格式指令的完整列表
| 归档时间: |
|
| 查看次数: |
15614 次 |
| 最近记录: |