Rails - 将时间转换为字符串

Nik*_*cic 2 ruby time datetime ruby-on-rails

这是我要转换的时间格式

time = Time.parse('2020-07-02 03:59:59.999 UTC')
#=> 2020-07-02 03:59:59 UTC
Run Code Online (Sandbox Code Playgroud)

我想以这种格式转换为字符串。

"2020-07-02T03:59:59.999Z"
Run Code Online (Sandbox Code Playgroud)

我试过了。

time.strftime("%Y-%m-%dT%H:%M:%S.999Z")
Run Code Online (Sandbox Code Playgroud)

这样对吗?有什么更好的办法吗?

spi*_*ann 5

您可以使用Time#iso8601所需的小数位数作为参数:

time = Time.current.end_of_hour

time.iso8601(3) #=> "2020-07-01T10:59:59.999Z"
Run Code Online (Sandbox Code Playgroud)