AFAIU, вам нужно изменить DELIVERY_TIME
, чтобы соответствовать вашему формату. CSV
здесь абсолютно выходит за рамки. Таким образом, чтобы преобразовать значения, нужно разделить на ~
и взять час из результата.
DELIVERY_TIME = [
"09:00~12:00",
"12:00~14:00",
"14:00~16:00",
"16:00~18:00",
"18:00~20:00",
"19:00~21:00",
"20:00~21:00",
].freeze
DELIVERY_TIME.map { |s| s.split('~').map { |s| s[0...2] }.join }
#⇒ ["0912", "1214", "1416", "1618", "1820", "1921", "2021"]
Более безопасный метод - использовать DateTime#parse
для этого
require 'time'
DELIVERY_TIME.map do |s|
s.split('~').map { |s| DateTime.parse(s).strftime("%H") }.join
end
#⇒ ["0912", "1214", "1416", "1618", "1820", "1921", "2021"]