Rails - 获取字符串中的YYYY-MM-dd日期格式

5

我不确定为什么我无法理解这个问题,因为它非常简单。

我正在尝试将今天的日期格式化为YYYY-MM-dd并连接到一个字符串上,但没有成功。

我尝试使用now = Time.now.strftime("%Y-%m-%d")创建日期,并像这样连接字符串:

'http://api.flurry.com/appMetrics/Sessions?apiAccessCode=########&apiKey=#########&startDate='+now+'&endDate='+now

请指导,谢谢。

编辑:如果我设置now = '2016-11-05',那么一切都很好。所以问题肯定在我创建日期的方式上。


当我使用硬编码的日期创建一个字符串时,我的API可以正常工作。该字符串看起来像这样:http://api.flurry.com/appMetrics/Sessions?apiAccessCode=########&apiKey=########&startDate=2016-11-05&endDate=2016-11-05,但是当我尝试动态设置日期时,它只返回0。@TerryLi - Walker
我不确定如何测试now是什么,但我知道now不是一个带有日期2016-11-05的字符串,因为该API字符串返回结果。错误可能出现在我的日期创建或连接中。@TerryLi 谢谢 Terry - Walker
2
我已经尝试过 now = Time.now.strftime("%Y-%m-%d") 然后跟着 url = "http://api.flurry.com/appMetrics/Sessions?apiAccessCode=######&apiKey=######&startDate=" + now + "&endDate=" + now,在交互式 Ruby 会话中可以正常工作。 - Imran Ali
@ImranAli请阅读我上面的回复。有什么想法吗?这可能是因为您的URL带有双引号,而我的URL带有单引号。抱歉,我最近才开始使用Rails编程。 - Walker
现在 = DateTime.now.strftime("%Y-%m-%d") old_ios_url = 'http://api.flurry.com/appMetrics/Sessions?apiAccessCode=####&apiKey=####&startDate='+now+'&endDate='+now old_ios_response = RestClient.get(old_ios_url) old_ios_result = JSON.parse(old_ios_response) old_ios_sessions = old_ios_result['day']['@value'] result = Integer(old_ios_sessions) @TerryLi - Walker
显示剩余5条评论
1个回答

5

在尝试使用字符串插值失败后,我最终通过字符串插值使它工作了。为什么它之前没有工作呢?原来如果不使用双引号,它会将插值视为字面量!!

now = Time.now.strftime("%Y-%m-%d")

"http://api.flurry.com/appMetrics/Sessions?apiAccessCode=########&apiKey=#########&startDate=#{now}&endDate=#{now}"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接