GWT:使用 JsDate 和 Java Date
在我的覆盖层中,我将 JavaScript Date 对象包装在 JsDate 中:
public final native JsDate getDueDate() /*-{
return this["dueDate"];
}-*/;
但是,当我想在小部件(例如 DateBox)中使用该日期时,我 需要将该值设置为 Java 日期。我可以从我的 JsDate 但我相信这会增加一些开销。
Date javaDate = new Date(jsDate.getTime());
有没有更干净的方法来实现这一目标?将 JsDate 对象转换为 Java Date 对象(反之亦然)的最佳方法是什么?
多谢
In my overlays I wrap a JavaScript Date object in a JsDate:
public final native JsDate getDueDate() /*-{
return this["dueDate"];
}-*/;
However when I want to use that date in a widget, say a DateBox, I
need to set the value as a Java Date. I could create a Java Date from my
JsDate but I believe that adds some overhead.
Date javaDate = new Date(jsDate.getTime());
Is there a cleaner way of achieving this? What is the best way to convert a JsDate object to a Java Date object and vice-versa?
Thanks a lot
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Jason 的代码对我不起作用,因为
getDueDateNative().getTime()
返回一个double
而不是long
。因此,您还必须转换该值:return new Date((long) getDueDateNative().getTime());
Jason's code doesn't work for me since
getDueDateNative().getTime()
returns adouble
and not along
. Therefore you have also to cast the value:return new Date((long) getDueDateNative().getTime());
GWT 的
Date
实现在幕后使用JsDate
,因此根本不会有任何有意义的性能损失。为了让该类型的使用者更容易,请更改您的叠加层以返回Date
而不是JsDate
:GWT's
Date
implementation usesJsDate
under the covers so there should be no meaningful performance penalty at all. To make things easier for consumers of the type change your overlay to returnDate
s instead ofJsDate
s: