尽管您的IDE有什么要说的,但使用旧的java.util.Date
方法并不是那么糟糕。在常规Java代码中,是的,请使用Calendar
类,但出于历史原因,请考虑不要使用这些“已弃用”方法。
曾几何时,Java是最酷的孩子 - 很奇怪,对吧?网络浏览器没有这样的语言,有人说:“嘿,让他们给我一种脚本语言,但把它叫做什么,我不知道,很酷!”因此,我们给了JavaScript - 更多的是一种类似于Lisp的语言,但不用介意。
一些API是借来的,比如Date对象。然后,Java决定它可以处理的日期和时间以及时区更好,不赞成这些功能,如setHours
,并转移到我们今天所知和所爱的Calendar,JodaTime等明亮(令人困惑)的未来。
浏览器虽然有JavaScript,并且找到了自己的方式,并继续使用这些方法。有JavaScript库可以帮助处理日期,但在浏览器运行时,Date对象仍然看起来像旧的java.util.Date
。
因此,在GWT中,用Java编写你喜欢的地方,但要记住你是在一个Web浏览器中 - 底层语言恰好具有使用这些不推荐使用的方法的本地功能 - 而且它们不会去任何地方。同样,尽管Object.wait()
和notify()
是合法的,但不能使用它们,也不会调用finalize()
--这些只是使用Java组织和维护库或应用程序时需要记住的事情,并且编译为使用JavaScript在网页浏览器中运行。
那么,无论你使用这个弃用的方法,或者你使用日历,或者你使用其他日期时间库,如乔达时间。 –
@Jakub GWT中没有日历或Joda。 –
是否尝试过Calendar.set(Calendar.HOUR_OF_DAY,int小时)而不是date.sethours –