gpt4 book ai didi

ruby-on-rails - Ruby - 如何解析数组中的日期

转载 作者:数据小太阳 更新时间:2023-10-29 08:51:41 26 4
gpt4 key购买 nike

我有一个 Rails ActiveRecord 组查询:

a = Product.select("date(date) as date, count(id) as products").group("date(date)").to_a 

我想更改数组中所有日期的格式。我认为它会是这样的:

a.map { |s, i| [Date.parse(s).to_time.strftime("%Y-%m-%dT%H:%M:%S"), i] }

但是,我遇到了一个无法将 Product 转换为 String 错误。如何解析数组中的日期并更改其格式?

编辑:

这是我正在寻找的输出示例。

给定这张表:

 create_table :products do |t|
t.date :date
end

最终,我想根据上述组查询创建一个 json 输出。像这样的东西:

 [{"products":23,"date":"2012-06-15T00:00:00"}, {"products":26,"date":"2012-06-16T00:00:00"}] 

最佳答案

试试这个:

a.map { |s, i| [Date.parse(s.date).to_time.strftime("%Y-%m-%dT%H:%M:%S"), i] }

您的查询返回一组 Product 对象,其中包含两个假字段 dateproducts(与 SQL 查询中的相同)。要获取日期,您应该对返回数组的元素调用 s.date

编辑

要获得所需的数组,您可以执行以下操作:

query_result = Product.select("date(date) as date, count(id) as products").group("date(date)")

query_result.map do |row|
{ :products => row.products, :date => Date.parse(row.date).to_time.strftime("%Y-%m-%dT%H:%M:%S") }
end

关于ruby-on-rails - Ruby - 如何解析数组中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11281593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com