Sie diese veralteten Methoden nicht verwenden Datumsklasse in GWT.
Wenn Sie keine Date Implementierungen von Drittanbietern für GWT verwenden möchten, verwenden Sie eine Kombination von mit String-Manipulation als Workaround vorerst, bis GWT eine bessere Unterstützung für das Bearbeiten von Daten bietet.
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]
Bearbeiten- Ebenso vermeidet neues Datum mit (yy, mm, dd) hat sich Inkonsistenzen auf dem Browser und Datumsbereich abhängig.
Ich habe eine einfache dateutil Klasse verwenden, um Date-Objekte in GWT zu erstellen und zu analysieren, vielleicht von Nutzen zu Ihnen -
(Achtung: Sehr grob, und unfertige)
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;
}
}
Welche Drittanbieter-Implementierungen würden Sie empfehlen? – Jla
Ich habe keine komplexe Datumsarithmetik in meiner Anwendung und habe daher nicht ernsthaft nach einer DateTime-Bibliothek für GWT gesucht. Ich weiß, dass es ein GwtDateTime-Dienstprogramm gibt (http://code.google.com/p/gwt-examples/wiki/gwtDateTime), das aber nicht getestet wurde, kann nicht dafür bürgen. YMMV –
Diese funktionieren nicht in Komponententests :((außer Sie erweitern GWTTestCase, die langsam ist) –