преобразование строки в DateTime
Мне нужно разобрать следующую строку в объект DateTime:30/Nov/2009:16:29:30 +0100
существует ли простой способ сделать это?
PS: Я хочу, чтобы преобразовать строку выше как есть. Двоеточие после года-это не опечатка. Я также хочу решить проблему с Руби, а не с Рором.
7 ответов:
дата и время.strptime позволяет указать формат и преобразовать строку в datetime.
Я
Time.parse("02/07/1988"), как и некоторые другие плакаты.интересно получилось, что
Timeбыл загружен по умолчанию, когда я открыл IRB, ноTime.parseне был определен. Я должен былrequire 'time'чтобы заставить его работать.это с Ruby 2.2.
для китайских разработчиков рельсов:
DateTime.strptime('2012-12-09 00:01:36', '%Y-%m-%d %H:%M:%S') => Sun, 09 Dec 2012 00:01:36 +0000
в Ruby 1.8, модуль ParseDate преобразует этот и многие другие форматы даты/времени. Тем не менее, он не имеет дело изящно с двоеточием между годом и часом. Предполагая, что двоеточие является опечаткой и на самом деле является пробелом, то:
#!/usr/bin/ruby1.8 require 'parsedate' s = "30/Nov/2009 16:29:30 +0100" p Time.mktime(*ParseDate.parsedate(s)) # => Mon Nov 30 16:29:30 -0700 2009
Comments