GWT:使用 JsDate 和 Java Date

发布于 2024-10-17 10:04:52 字数 388 浏览 11 评论 0原文

在我的覆盖层中,我将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疯了 2024-10-24 10:04:52

Jason 的代码对我不起作用,因为 getDueDateNative().getTime() 返回一个 double 而不是 long。因此,您还必须转换该值:return new Date((long) getDueDateNative().getTime());

Jason's code doesn't work for me since getDueDateNative().getTime() returns a double and not a long. Therefore you have also to cast the value: return new Date((long) getDueDateNative().getTime());

孤星 2024-10-24 10:04:52

GWT 的 Date 实现在幕后使用 JsDate,因此根本不会有任何有意义的性能损失。为了让该类型的使用者更容易,请更改您的叠加层以返回 Date 而不是 JsDate

public final Date getDueDate() {
  return new Date(getDueDateNative().getTime());
}

private final static JsDate getDueDateNative() /*-{
  return this["dueDate"];
}-*/;

GWT's Date implementation uses JsDate 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 return Dates instead of JsDates:

public final Date getDueDate() {
  return new Date(getDueDateNative().getTime());
}

private final static JsDate getDueDateNative() /*-{
  return this["dueDate"];
}-*/;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文