2012-04-27 23 views
6

Haftanın belirli bir gününü almak istiyorum örn. Wednessday. yani, bugünün tarihi 27. Cuma ise, Wednessday 25'inci olabilirdi.GWT java.util.Calendar öğesine eşdeğer tarihtir.

Ben sunucu tarafında bu kodu taşımak zorunda kalmadan olası bir çözüm var mı burada meydan, java.util.Calendar GWT istemci tarafında desteklenmeyen olmasıdır

Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); 
String thisWed = String.format("%tF%n", calendar) 

tarafından bu elde edebiliriz?

Teşekkür DateTimeFormat kullanılarak

+0

çoğaltır önceki ftr-gwt kitaplığı projede (https://bitbucket.org/JRS/open-gwt)

emülasyonu ve yardımcı sınıf göre 7009655/nasıl kullanılır-java-util-calendar-in-gwt – cellepo

cevap

1

, bu dizeye formatını bir java.util.Date izin verir veya tarihi içine bir dize biçimlendirmek.

Date date = new Date(); 
DateTimeFormat format = DateTimeFormat.getFormat("EEEE"); 
String day = format.parse(date); 
+2

Teşekkürler ama soruma cevap vermiyor. –

2

En kolay muhtemelen Joda zamanı veya benzeri kullanmak olacaktır ama JodaTime tüm GWT portları abandonned edilmiştir: Date time library for gwt

etkili ve verimli (üçüncü taraf bağımlılık) hesaplamayı kendiniz yapmak olacaktır:

Date d = new Date(); 
int dow = d.getDay(); 
int wed_delta = 3 - dow; 
wed = new Date(d.getTime() + (86400 * wed_delta)); 

Sen Takvim öykünme ve org.jresearch.commons.gwt.shared.too kullanabilirsiniz

+0

Merhaba thomas, Mantığınıza ilk bakışta, Tamam görünüyor ama koştuğumda, "Cum 27 Nis 18:25:48 CAT 2012" yi aldım. Yukarıdaki kodumla, 'Last Wednessday: 2012-04-25'. Yeni Date() 'nin bu haftasının son Çarşamba gününü almayı bekliyorum. –

0

(son satır yerinde d değiştirerek, CalendarUtil.addDaysToDate(d, wed_delta) ile değiştirilebilir) bitbucket açık/gwt projesinden ls.Dates yardımcı sınıf http://stackoverflow.com/questions/ (https://code.google.com/p/ftr-gwt-library/)