2010-02-03 8 views

cevap

3

"en kolay" çözüm (sunucu ile herhangi bir iletişimi gerektirmeyen bir) sadece bu gibi belirli bir zaman dilimini (bir sunucu olan) kullanmak DateTimeFormat zorluyor:

String pseudoServerTime = DateTimeFormat.getFullTimeFormat().format(new Date(), TimeZone.createTimeZone(TimeZoneConstants.europeWarsaw()); 

sen/değişim sunucularını taşırsanız bu nedenle kolayca değiştirilebilmesi, (ve GWT derleyici hiçbir performans ceza, bu iç fonksiyon) public static final olarak bir yere Dilimi dize/nesneyi hardcode.

+0

10'a bakın. Teşekkürler Igro - bu benim ilk tahminimdi, ancak sadece zaman dilimi ofsetini kodlamıştım. Hardcoded ofset'i kullanmamdaki problemim şu an burada (Sydney, Avustralya) gün ışığından yararlanma saatindeyiz ve bu zaman bittiğinde zaman tekrar çıkacak. – RodeoClown

+1

Ofseti kodlamayın. Hardcode the TimeZone nesnesi ve gün ışığından yararlanma hesaba katılır. –

1

İstemci üzerinde tarih değiştirilecek mi? Sunucudaki formatı yapmazsanız ve sadece bir dize değeri gönderirseniz. Son bir şey. GWT'de müşteri tarafında Tarihler ile ilgili bazı sorunlar var gibi görünüyor. http://blog.gerardin.info/archives/674

+0

Merhaba Carnell, tarih istemcisinde değiştirilmeyecek, ancak sıralama için bir tablo içinde ve "31 Ocak 2010" olarak biçimlendiriliyor, bu yüzden bir dize sunucu tarafı yapmak sıralama önlemek Çalışma. Bağlantıyı şimdi kontrol ediyorum. Teşekkürler – RodeoClown

+0

Ekran için Tarih olarak bir String olarak iletebilir ve ayrıca, Sıralama için kullanılacak Tarihin sayısal değerini de iletebilirsiniz. Tarih için uzun değeri almak için Date.getTime() öğesini kullanın. Bu konuda berbat tek şey müşteriye başka bir alan geçmek zorundadır, ancak çalışması gerekir. – Carnell

+0

Dizgeyi sunucudan (java'nın SimpleDateFormat özelliğini kullanarak) Locale kümesini kullanarak geçiremezsiniz, örneğin: yyyy-MM-dd ss: dd Z ve bu biçimi istemcide kullanarak, GWT'nin DateTimeFormater'i kullanarak bir tarih oluşturma . Saat dilimi ile sunucudan bir tarih oluşturuyor ve başka amaçlar için de kullanıyor olabilirsiniz. –

İlgili konular