6

我想获取一周中特定日期的日期,例如星期三。即如果今天的日期是 27th Friday, Wednessday 实际上就是 25th 。

我可以通过

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

这里的挑战是java.util.CalendarGWT 客户端不支持,是否有可能的解决方案而无需将此代码移动到服务器端?

谢谢

4

4 回答 4

16

com.google.gwt.user.datepicker.client.CalendarUtil我猜是你要找的东西;

于 2012-04-27T14:33:58.783 回答
2

最简单的可能是使用 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)修改)d

于 2012-04-27T14:40:32.670 回答
1

使用DateTimeFormat,它允许将 java.util.Date 格式化为字符串或将字符串格式化为 Date。

Date date = new Date();
DateTimeFormat format = DateTimeFormat.getFormat("EEEE");
String day = format.parse(date);
于 2012-04-27T14:11:23.247 回答
0

您可以使用来自 bitbucket ( https://bitbucket.org/JRS/open-gwt )上 open/gwt 项目的日历模拟和 org.jresearch.commons.gwt.shared.tools.Dates 实用程序类

基于 ftr-gwt-library 项目的仿真和实用类(https://code.google.com/p/ftr-gwt-library/

于 2014-03-23T13:53:27.483 回答