Tengo una cadena como "2011-06-02T23: 59: 59 + 05: 30".Ruby - cadena de conversión a la fecha
Quiero convertirlo a formato de fecha y necesito analizar solo la fecha, "2011-06-02".
Tengo una cadena como "2011-06-02T23: 59: 59 + 05: 30".Ruby - cadena de conversión a la fecha
Quiero convertirlo a formato de fecha y necesito analizar solo la fecha, "2011-06-02".
para Ruby 1.9.2:
require 'date' # If not already required. If in Rails then you don't need this line).
puts DateTime.parse("2011-06-02T23:59:59+05:30").to_date.to_s
Simplies manera es
require 'date'
date = "2011-06-02T23:59:59+05:30".gsub(/T.*/, '')
DateTime.parse(date)
O puede usar 'Date' en lugar de' DateTime' e ignorar la operación gsub;) – Schovi
require 'date'
d = Date.parse("2011-06-02T23:59:59+05:30")
d.strftime("%F")
o simplemente 'd.to_s' :) – rubyprince
esto no analizará correctamente una marca de tiempo con el tiempo - use' DateTime .parse() 'a menos que solo quiera trabajar con fechas. –
@ AdamMcArthur ... El OP específicamente quería la parte de la fecha solamente. Pero tienes razón. incluso para las fechas, si omitimos la parte del tiempo y las zonas horarias, puede ser peligroso, porque puede ser otro día en otra zona horaria. Entonces, mejor use 'DateTime.parse'. – rubyprince
Time.parse() debería permitir que permite analizar toda la fecha y hora. Luego puede usar time.strftime (cadena) para formatear eso como solo una fecha en una cadena.
date = Time.parse("2011-06-02T23:59:59+05:30") date_string = time.strftime("%y-%m-%d") of date_string = time.strftime("%F")
(ver Ruby Doc for Time para más formatos de cadena de salida) lo anterior debe funcionar si quieres una cadena; si quieres manejar un objeto de fecha, entonces la clase Date de ruby puede ayudarte a manejarlo, pero creo que todo debe hacerse con los objetos Time; vea Ruby Doc for Date para los detalles de la clase Date.
Espero que ayude, avíseme si me he dirigido en la dirección incorrecta con mi respuesta.
Esto ha sido preguntado y respondido en numerosas ocasiones. Sugiero cerrar como duplicado. http://stackoverflow.com/questions/2720907/ruby-convert-string-to-date –
posible duplicado de [Ruby String to Date Conversion] (http://stackoverflow.com/questions/3599239/ruby-string-to -date-conversion) – DGM