No utilice los métodos obsoletos de Clase de fecha en GWT.
Si no desea utilizar implementaciones de fechas de terceros para GWT, por el momento usa una combinación de DateTimeFormat
junto con la manipulación de cadenas como solución, hasta que GWT ofrezca un soporte mejor para manipular las fechas.
For date -
DateTimeFormat.getFormat("d-M-yyyy").format(new Date()).split("-")[0]
For month -
DateTimeFormat.getFormat("d-M-yyyy").format(new Date()).split("-")[1]
For year -
DateTimeFormat.getFormat("d-M-yyyy").format(new Date()).split("-")[2]
Editar- Del mismo modo, evitar el uso de nuevos Fecha inconsistencias (aa, mm, dd) ha venido dependiendo del rango del navegador y la fecha.
que tengo uso de un simple Clase DateUtil para crear y analizar los objetos Date en GWT, tal vez de alguna utilidad para usted -
(Advertencia: Muy crudo, y el trabajo en curso)
public class DateUtil
{
private static final String D_M_YYYY = "d-M-yyyy";
private static final String DATE_SEPARATOR = "-";
public static Date getDate(Integer dd, Integer mm, Integer yyyy)
{
if (dd == null || mm == null || yyyy == null)
return null;
Date retVal = null;
try
{
retVal = DateTimeFormat.getFormat(D_M_YYYY).parse(dd + DATE_SEPARATOR + mm + DATE_SEPARATOR + yyyy);
}
catch (Exception e)
{
retVal = null;
}
return retVal;
}
public static String getDayAsString(Date date)
{
return (date == null) ? null : DateTimeFormat.getFormat(D_M_YYYY).format(date).split(DATE_SEPARATOR)[0];
}
public static String getMonthAsString(Date date)
{
return (date == null) ? null : DateTimeFormat.getFormat(D_M_YYYY).format(date).split(DATE_SEPARATOR)[1];
}
public static String getYearAsString(Date date)
{
return (date == null) ? null : DateTimeFormat.getFormat(D_M_YYYY).format(date).split(DATE_SEPARATOR)[2];
}
public static boolean isValidDate(Integer dd, Integer mm, Integer yyyy)
{
boolean isvalidDate = true;
try
{
String transformedInput = DateTimeFormat.getFormat(D_M_YYYY).format(getDate(dd, mm, yyyy));
String originalInput = dd + DATE_SEPARATOR + mm + DATE_SEPARATOR + yyyy;
isvalidDate = transformedInput.equals(originalInput);
}
catch (Exception e)
{
isvalidDate = false;
}
return isvalidDate;
}
}
¿Qué implementaciones de fechas de terceros recomendaría? – Jla
No tengo aritmética de fecha compleja en mi aplicación, y por lo tanto no he buscado seriamente ninguna biblioteca DateTime para GWT. Sé que hay una utilidad GwtDateTime (http://code.google.com/p/gwt-examples/wiki/gwtDateTime), pero al no haberlo probado, no puedo garantizarlo. YMMV –
Estos no funcionan en pruebas unitarias :((a menos que extienda GWTTestCase, que es lento) –