日期转换未按预期工作,转换后始终保持时间

时间:2015-10-16 09:54:39

标签: ruby-on-rails datetime

我正在尝试做最简单的事情,将日期转换为不同的日期格式,但我似乎无法这样做,因为我在ruby中的知识几乎为零。

我尝试阅读this并尝试了所有可能的aggregate版本但其中没有一个可行。无论如何,时间似乎总是留在那里。由于此日期不是来自.to_formatted_s()而是来自现有对象属性,我猜这是date.new()无法正常工作的原因,如文档中的示例所示。我可能会非常错误。

如何转换此日期格式:

.to_formatted_s()

对此:

2015-07-01 01:59:59 +0200

我的尝试是:

2015-07-01

所有输出 // inv.end is "2015-07-01 01:59:59 +0200" inv.end.to_formatted_s(:db) inv.end.to_s(:db) inv.end.to_formatted_s(:iso8601)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

require 'date'
DateTime.parse("2015-07-01 01:59:59 +0200").strftime('%Y-%m-%d')

答案 1 :(得分:1)

以上答案是正确的。
如果您想重复执行相同的日期格式,请在初始化程序中创建一个文件。写下面的代码:
class ActiveSupport :: TimeWithZone
    def my_format(options = {})
        的strftime('%间 - %D-%Y')
    结束
结束

&安培;在datetime对象之后只需编写my_format,如@ user.updated_at.my_format