如何在JavaScript中转换JavaScript日期到日期?

问题描述:

我需要将JsDate转换为java.util.Date.我搜索了但我找不到任何东西。那么你能帮我解决这个问题吗?如何在JavaScript中转换JavaScript日期到日期?

编辑:我在gwt secreen上做了这个转换过程。我在屏幕上有datepicker,当我使用它的getValue()方法时,它给了我JsDate的值。所以我想把这个值放入具有Date类型的对象的属性中。

ObjectName.setDate(PickerName.getValue());

我希望我的编辑会更清晰。

EDIT2:

这行是我的问题的解决方案:

myObject.setDate(new Date((long) myPicker.getValue().getTime())); 
+3

你的代码是什么样的? – 2012-07-30 13:42:19

+2

欢迎来到Stack Overflow,我们很乐意为您提供帮助,请提供一些关于您已经尝试过的信息,以及您的代码现在的样子 – epoch 2012-07-30 13:44:36

日期转换的最佳方式是以毫秒为单位的UTC时间。 JS Date对象和java.util.Date类都支持转换为毫秒(getTime())并从毫秒(使用构造函数)实例化。

+0

您的提示对解决我的问题非常有用。 getTime()方法服务于我的目的。谢谢.. – angaraeski 2012-07-30 15:01:38

+1

JS'getTime'从1970年1月1日午夜开始,那么java呢? – hakunami 2015-08-07 03:11:51

+1

@hakunami,是的,Java(以下C)。唯一的区别是ANSI C以秒为单位计算时间,因为它的'long'只有4个字节。 Java和JavaScript的计数时间以毫秒为单位。 – AlexR 2016-03-02 16:57:04

我会建议使用日期格式解析方法(DOC可以发现here)。它可以解析日期的字符串表示并返回java.util.Date。

您可以从 '时间,因为时代' 创建java.util.Date对象JS Date

的JavaScript的价值

var d = new Date().getTime(); 

的Java

// get value from client (ajax, form, etc), and construct in Date object 

long valueFromClient = ... 

Date date = new Date(valueFromClient); 

String formatted = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); 
+21

用户时代回答有关日期的问题;-) – ManseUK 2012-07-30 13:51:08

您可能希望此:

java: 
String jsDate="2013-3-22 10:13:00"; 
Date javaDate=new SimpleDateFormat("yy-MM-dd HH:mm:ss").parse(jsDate); 
System.out.pringln(javaDate); 

如果我这样的人*解析JS格式的日期字符串(如在JavaScript的(new Date()).toString()结果),这里是SimpleDateFormat的规范我用:

DateFormat jsfmt = new SimpleDateFormat("EE MMM d y H:m:s 'GMT'Z (zz)"); 

如果你有控制这个日期的制作者,我同意使用时间戳或者至少.toUTCString()肯定是更强大的。

+0

适用于我的格式是:EE MMM d y H:m:s'GMT'z' – mleonard 2016-03-10 19:33:13