tipo setear operaciones obtener meses fechas fecha crear con año actual datetime gwt date

datetime - setear - operaciones con fechas en java



Obtenga detalles de fecha(día, mes, año) en GWT (4)

La solución presentada por Ashwin funciona y no es tan difícil. Pero sugeriría usar los patrones de fecha en lugar de dividir:

For date - DateTimeFormat.getFormat( "d" ).format( new Date() ) For month - DateTimeFormat.getFormat( "M" ).format( new Date() ) For year - DateTimeFormat.getFormat( "yyyy" ).format( new Date() )

Necesito obtener los detalles del día, mes, año de un valor de Date , pero getYear() está en desuso, da el año con 2 dígitos y tiene problemas con Y2K (2008 da 108). El documento java recomienda usar java.util.calendar pero no es compatible con GWT.

Quiero evitar enviar toda la información entre el servidor y el cliente solo para tratar con las fechas.

Edición: el Calendar podría ser compatible. Las funciones de manejo de la fecha deberían implementarse en las versiones futuras de GWT: http://code.google.com/p/google-web-toolkit/issues/detail?id=603


No creo que gwt sea compatible con el calendario en el futuro, puede que sea compatible con otra implementación de manipulación de fechas. Entonces, debido a que la recomendación de java sobre no usar Date no es válida en Gwt y no tiene ninguna otra opción sin importar una biblioteca de terceros, la forma correcta es usar Date e ignorar las advertencias de desaprobación.


No utilice esos métodos en desuso en la clase Fecha en GWT.

Si no desea utilizar implementaciones de fecha de terceros para GWT, use una combinación de DateTimeFormat junto con la manipulación de cadenas como una solución por el momento, hasta que GWT encuentre un mejor soporte para manipular 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: de manera similar, evite usar la nueva Fecha (aa, mm, dd) ha surgido inconsistencias según el navegador y el rango de fechas.

He utilizado una Clase DateUtil simple para crear y analizar objetos de Fecha en GWT, tal vez de alguna utilidad para usted:

(Advertencia: Muy crudo, y trabajo en progreso).

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; } }


Solo puede agregar 1900 al valor de retorno de getYear()