我需要get time and date
从数据库日期开始"2015-08-27T12:09:36Z"
。我试过但没有得到任何解决方案date and time in different variable.
我需要在Ruby
中获取它。我的申请中No rails
。
我使用下面的代码但没有得到。
Time.strptime("2015-08-27T12:09:36Z", "%Y-%m-%dT%H:%M:%S%z").in_time_zone
任何人都有经验吗?
由于
答案 0 :(得分:0)
我没有足够的声誉来评论所以我发表评论作为答案,你在寻找吗
Time.now.strftime('%Y-%m-%dT%H:%M:%SZ')
这将提供您要求的模式。如果您使用
,Z代表时区%z - Time zone as hour and minute offset from UTC (e.g. +0900)
%:z - hour and minute offset from UTC with a colon (e.g. +09:00)
%::z - hour, minute and second offset from UTC (e.g. +09:00:00)
%Z - Time zone abbreviation name
检查更多
http://apidock.com/ruby/Time/strftime
您的评论后我更新的答案
require 'date'
DateTime.parse("2015-08-27T12:09:36Z").strftime('%Y-%m-%dT%H:%M:%SZ')
在您的代码中将 Time.strptime('')
更改为 DateTime.strptime('')
答案 1 :(得分:0)
首先,您需要require 'date'
。 Ruby内置了Date
和Time
类,没有require
,但该库提供了更多功能。
如果您有一个以ISO-8601格式从数据库中检索到的字符串,并且您想将其转换为日期和时间,只需使用DateTime.iso8601(string)
来获取DateTime
对象。您可以在此之后提取您喜欢的日期和时间组件。
irb(main):001:0> require 'date' #=> true
irb(main):002:0> dt = DateTime.iso8601("2015-08-27T12:09:36Z") # DateTime object
irb(main):003:0> d = dt.to_date # Date object
irb(main):004:0> t = dt.to_time # Time object