Tengo un datetime y quiero sacar los datos en dÃa, mes y año, sin la
hora, a ser posible en castellano y en ese orden.
John S. escribió:
Tengo un datetime y quiero sacar los datos en dÃa, mes y año, sin la
hora, a ser posible en castellano y en ese orden.
En tus vistas algo como:
<%= date_select(‘user’,‘birthdate’,:start_year => 1900,:end_year
=>Time.now.year,:order => [:day, :month, :year]) %>
y en el enviroment algo como
require ‘date’
class Date
MONTHNAMES = [
nil,
‘Enero’,
‘Febrero’,
‘Marzo’,
‘Abril’,
‘Mayo’,
‘Junio’,
‘Julio’,
‘Agosto’,
‘Septiembre’,
‘Octubre’,
‘Noviembre’,
‘Diciembre’
]
end
Gracias por responder.
Tengo esto (es para un PDF):
pdf.text(ticket.adquired_in + " el " + ticket.sales_date.to_s, :order =>
[:day, :month, :year], :left => 5)
Sin embargo, no me funciona. En cuanto a class Date, ¿tengo que crear el
modelo?
John S. wrote:
Tengo un datetime y quiero sacar los datos en dÃa, mes y año, sin la
hora, a ser posible en castellano y en ese orden.
Time.strftime(â€%aâ€), devuelve la abreviatura del dÃa de la semana => Wed
Time.strftime(â€%Aâ€), devuelve el dÃa de la semana => Wednesday
Time.strftime(â€%bâ€), devuelve la abreviatura del mes => Apr
Time.strftime(â€%Bâ€), devuelve el nombre del mes => April
Time.strftime(â€%câ€), devuelve => Wed Apr 11 11:27:06 2007
Time.strftime(â€%dâ€), devuelve el dÃa del mes => 11
Time.strftime(â€%Hâ€), devuelve la hora en formato 24h => 11:27:06
Time.strftime(â€%Iâ€), devuelve la hora en formato 12h => 11:27:06
Time.strftime(â€%jâ€), devuelve el dÃa del año => 101
Time.strftime(â€%mâ€), devuelve el mes del año => 04
Time.strftime(â€%Mâ€), devuelve el minuto => 27
Time.strftime(â€%pâ€), devuelve AM o PM => AM
Time.strftime(â€%Wâ€), devuelve la semana del año
Time.strftime(â€%wâ€), devuelve el dÃa de la semana => 3
Time.strftime(â€%xâ€), devuelve sólamente la fecha => 11/04/2007
Time.strftime(â€%Xâ€), devuelve sólamente la hora => 11:27:06
Time.strftime(â€%yâ€), devuelve el año en dos dÃgitos => 07
Time.strftime(â€%Yâ€), devuelve el año => 2007
de ahi podes hacer un array que corresponda un un numero de mes a un
String y haces la traduccion del dia o el mes
Cómo modulo:
def es_month(date)
_months = [‘Enero’, ‘Febrero’, ‘Marzo’, ‘Abril’, ‘Mayo’, ‘Junio’ ,
‘Julio’, ‘Agosto’,‘Septiembre’, ‘Octubre’, ‘Noviembre’, ‘Diciembre’]
month = date.strftime(’%m’)
return _months[(month.to_i)-1]
end
def es_week_day(date)
_weekdays =
[‘Lunes’,‘Martes’,‘Miércoles’,‘Jueves’,‘Viernes’,‘Sabado’,‘Domingo’]
week_day = date.strftime(’%w’)
return _weekdays[week_day.to_i]
end
No es una solución muy elegante pero es independiente del sistema i18n
que
uses.
__
David Fernández
[email protected]
break is a memory!
Horacio B. wrote:
John S. wrote:
Tengo un datetime y quiero sacar los datos en dÃa, mes y año, sin la
hora, a ser posible en castellano y en ese orden.Time.strftime(â€%aâ€), devuelve la abreviatura del dÃa de la semana => Wed
Time.strftime(â€%Aâ€), devuelve el dÃa de la semana => Wednesday
Time.strftime(â€%bâ€), devuelve la abreviatura del mes => Apr
Time.strftime(â€%Bâ€), devuelve el nombre del mes => April
Time.strftime(â€%câ€), devuelve => Wed Apr 11 11:27:06 2007
Time.strftime(â€%dâ€), devuelve el dÃa del mes => 11
Time.strftime(â€%Hâ€), devuelve la hora en formato 24h => 11:27:06
Time.strftime(â€%Iâ€), devuelve la hora en formato 12h => 11:27:06
Time.strftime(â€%jâ€), devuelve el dÃa del año => 101
Time.strftime(â€%mâ€), devuelve el mes del año => 04
Time.strftime(â€%Mâ€), devuelve el minuto => 27
Time.strftime(â€%pâ€), devuelve AM o PM => AM
Time.strftime(â€%Wâ€), devuelve la semana del año
Time.strftime(â€%wâ€), devuelve el dÃa de la semana => 3
Time.strftime(â€%xâ€), devuelve sólamente la fecha => 11/04/2007
Time.strftime(â€%Xâ€), devuelve sólamente la hora => 11:27:06
Time.strftime(â€%yâ€), devuelve el año en dos dÃgitos => 07
Time.strftime(â€%Yâ€), devuelve el año => 2007de ahi podes hacer un array que corresponda un un numero de mes a un
String y haces la traduccion del dia o el mes
Gracias, me ha sido de ayuda.
Sin embargo, para el tema de la traducción con Gettext no puedo hacerlo
como me comentas, porque si traduzco una string traduciré sólo esa
string, y quiero que se queden traducidos todos los meses del año, y no
sólo el del string.
Buenas, estoy teniendo un problema con la fecha.
Intento formatearla y que me devuelva ("%I:%M %p %d-%b-%y")
y me da el siguiente mensaje de error:
compile error
c:/ror/todo/public/…/config/…/app/views/categories/list.rhtml:11:
syntax error, unexpected tCONSTANT, expecting ‘)’
_erbout.concat “\t\t
Time.strftime("%I:%M %p %d-%b-%y") ).to_s); _erbout.concat “
el codigo que utilizo es el siguiente:
PD: el tipo es TimeStamp
Desde ya muchas gracias.
Mauro
en al API de rails Module
ActiveSupport::CoreExtensions::Numeric::Time
te muestran las funciones para manipular los datos de tipo fecha
si quieres obtener el dia de la fecha actual => d = Day(Time.now)
para obtener el mes de la fecha actual => m = Month(Time.now)
y el año => y = Year(Time.now)
El 25 de julio de 2008 9:59, Mauro
Cosatto<[email protected]
escribió:
El Sunday 17 February 2008 19:27:02 John S. escribió:
Sin embargo, para el tema de la traducción con Gettext no puedo hacerlo
como me comentas, porque si traduzco una string traduciré sólo esa
string, y quiero que se queden traducidos todos los meses del año, y no
sólo el del string.
Para gettext mira el plugin gettext_localize
http://agilewebdevelopment.com/plugins/gettext_localize
–
Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
T) 902 021 404 F) 976 52 98 07 E) [email protected]
2008/7/25 Mauro C. [email protected]:
Time.strftime(“%I:%M %p %d-%b-%y”) ).to_s); _erbout.concat “\n”
Mauro
Ese código es incorrecto, por supuesto. Si bien el método puedes
haberlo encontrado escrito como Time.strftime() tienes que llamarlo
desde un objeto de tipo Time, y en tu caso ese objeto debe ser
category[“created_on”] (aunque no entiendo porqué utilizas la sÃntaxis
con []). El código que deberÃas utilizar, por lo tanto, serÃa:
Pero una mejor forma de hacerlo serÃa (sobre todo si vas a utilizar el
mismo formato en otros lugares) utilizar el método to_s que
proporciona Rails.
Lo primero serÃa incluir en alguno de los inicializadores del
environment.rb un lÃnea como:
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
:hora12_fecha => ‘%I:%M %p %d-%b-%y’,
:hora24_fecha => ‘%H:%M %d-%b-%y’
)
Y luego utilizar en tus vistas:
<%= category["created_on"].to_s(:hora12_fecha) %>Suerte.
2008/7/25 Mauro C. [email protected]:
Buenas, estoy teniendo un problema con la fecha.
Intento formatearla y que me devuelva (“%I:%M %p %d-%b-%y”)
Mauro, por favor, inicia un nuevo hilo para hacer consultas, no
secuestres un hilo anterior.
–
Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.