example - groovy new datetime
Fecha para el día de la semana en Groovy (3)
Tengo variables que están formateadas como el siguiente ejemplo:
2011-03-07
y de ellos quiero publicar el día de la semana. Por ejemplo:
Monday
o incluso solo
Mon
Estoy trabajando en Groovy, ¿alguna idea?
new SimpleDateFormat(''E'').format new SimpleDateFormat(''yyyy-MM-dd'').parse(''2011-03-07'')
Puede usar Date.parse
para convertir la cadena en una fecha e indexarla con Calendar.DAY_OF_WEEK
para obtener el día específico. Ejemplo:
assert Date.parse("yyyy-MM-dd", "2011-03-07")[Calendar.DAY_OF_WEEK] == Calendar.MONDAY
Si desea que el día sea una cadena, intente con el método Date.format
. La salida exacta depende de su configuración regional:
assert Date.parse("yyyy-MM-dd", "2011-03-07").format("EEE") == "Mon"
assert Date.parse("yyyy-MM-dd", "2011-03-07").format("EEEE") == "Monday"
Consulte la documentación de SimpleDateFormat para obtener más información sobre las cadenas de formato.
Si desea formatear el día para una configuración regional específica, deberá crear un objeto SimpleDateFormat y pasar un objeto de configuración regional.
fmt = new java.text.SimpleDateFormat("EEE", new Locale("fr"))
assert fmt.format(Date.parse("yyyy-MM-dd", "2011-03-07")) == "lun."
fmt = new java.text.SimpleDateFormat("EEEE", new Locale("fr"))
assert fmt.format(Date.parse("yyyy-MM-dd", "2011-03-07")) == "lundi"
new SimpleDateFormat(''E'').format Date.parse("10-jan-2010")
más limpio para mí