簡體   English   中英

GWT Date等同於java.util.Calendar

[英]GWT Date equivalent to java.util.Calendar

我想得到一周中特定日期的日期,例如Wednessday。 即如果今天的日期是星期五27日,那么Wednessday將是第25個星期五。

我可以做到這一點

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

這里的挑戰是GWT客戶端不支持java.util.Calendar ,是否有可能的解決方案而不必將此代碼移動到服務器端?

謝謝

最簡單的可能是使用Joda-time或類似的,但是JodaTime的所有GWT端口都被放棄了: gwt的日期時間庫

性能最高(沒有第三方依賴)是自己進行計算:

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

(最后一行可以用CalendarUtil.addDaysToDate(d, wed_delta)替換CalendarUtil.addDaysToDate(d, wed_delta)修改d

使用DateTimeFormat ,它允許將java.util.Date格式化為字符串或將字符串格式化為Date。

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

您可以使用bitbucket上的open / gwt項目中的Calendar仿真和org.jresearch.commons.gwt.shared.tools.Dates實用程序類( https://bitbucket.org/JRS/open-gwt

基於ftr-gwt-library項目的仿真和實用程序類( https://code.google.com/p/ftr-gwt-library/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM