Не используйте эти устаревшие методы в классе Date в GWT.
Если вы не хотите использовать сторонние реализации Date для GWT, вы используете комбинацию DateTimeFormat
вместе со строковыми манипуляциями в качестве временного решения, пока GWT не придет с некоторой лучшей поддержкой для манипулирования датами.
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]
Edit-
Точно так же избегайте использования новых дат (гг, мм, дд), если есть несоответствия в зависимости от браузера и диапазона дат.
Я использую простой класс DateUtil для создания и анализа объектов Date в GWT, возможно, они вам пригодятся -
(Предупреждение: очень грубый и незавершенный процесс)
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;
}
}