olanlar kaldırılmış yöntemler üzerinde kullanmayın getYear()
dönüş değerine 1900 ekleyebilir GWT'de tarih sınıfı.
Üçüncü taraf kullanmak istemiyorsanız GWT için tarih uygulamalarında, GWT, tarihleri işlemek için biraz daha iyi bir destek gelene kadar, bir geçici çözüm olarak dize işlemi ile birlikte DateTimeFormat
bir arada kullanın.
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- Benzer şekilde, yeni tarihi tarayıcı ve tarih aralığına bağlı (yy, aa, dd) geldi tutarsızlıkları kullanmaktan kaçının.
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;
}
}
Hangi üçüncü taraf Tarih uygulamalarını önerirsiniz? – Jla
Uygulamamda karmaşık tarih aritmetikleri yok ve bu nedenle GWT için herhangi bir DateTime kitaplığına ciddi olarak bakmadım. Bir GwtDateTime Yardımcı Programının (http://code.google.com/p/gwt-examples/wiki/gwtDateTime) olduğunu, ancak test edilmediğini biliyorum, bunun için ödeme yapamıyorum. YMMV –
Bunlar, birim testlerinde çalışmaz :((GWTTestCase'i yavaşça uzatmazsanız) –