У меня дата-время представлены в строковом формате, как показано ниже во входных данных, которые я получаю.Мне нужно перевести это время в местное время.Как мне это сделать?
пример строки даты и времени
str = "Aug 23 2018 03:49:17:017 PM IST"
Может быть, это может поставить вас на путь. Пожалуйста, обратитесь к http://ruby -doc.org / stdlib-2.5.0 // libdoc / date / rdoc / DateTime.html .
Это пример использования.
require 'date' str = "Aug 23 2018 03:49:17:017 PM IST" d = DateTime.strptime(str, '%b %d %Y %I:%M:%S:%L %p %z') # Maybe you need %e - Day of the month, blank-padded ( 1..31) instead of %d - Day of the month, zero-padded (01..31) p d.hour # => 15 p d.min # => 49 p d.sec # => 17 p d.second_fraction # => (17/1000) p d.day # => 23 p d.month # => 8 p d.year # => 2018 p d.zone # => "+05:30" # this way you can switch timezone d = d.new_offset('utc') p d.zone # => "+00:00" p d.hour # => 10 d = d.new_offset('brt') p d.hour # => 7 p d.zone # => "-03:00" # to print back as string, use strftime: p d.strftime('%Y-%m-%d %I:%M:%S %z') # => "2018-08-23 07:19:17 -0300"