Если все строки действительно такие, просто выполните подстановку подстрок:
a = ["2011-07-30 10:00:00","2011-07-30 12:00:00"]
times = a.map { |e| e[11,8] }
Это также будет работать, если ваши временные метки включают такие вещи, как 2011-07-30 10:00:00.1123
, 2011-07-30T10:00:00
или 2011-07-30 10:00:00 +0700
.
Если вы хотите быть дружелюбнее к будущему, то вы можете сделать это:
off = '9999-99-99 '.length
len = '99:99:99'.length
times = a.map { |e| e[off, len] }
так что никто не должен был бы угадать, о чем были 11
и 8
.