在Java.util.Date中解析org.mozilla.javascript.NativeDate

时间:2011-10-12 14:29:50

标签: java javascript date

我正在尝试解析从使用rhino库评估的JavaScript脚本到java.util.Date的日期,我可以将org.mozilla.javascript.NativeDate转换为java.util.Date吗?

如果使用Context.tostring方法将NativeDate转换为字符串,我将获得以下格式的日期:

Wed Oct 12 2011 16:17:59 GMT+0200 (CEST)

如何将此字符串日期表示解析为java.util.Date对象?

3 个答案:

答案 0 :(得分:7)

在Rhino中使用

context.jsToJava(nativeDateObj, Date.class);

答案 1 :(得分:4)

Bvesco的答案很有效。但是,反过来这样做(java到js)并不完全那么简单 - Context.javaTojs()不适用于日期。我最终找到了解决方案here - 使用javascript构造函数:

Object js = context.newObject(scope, "Date", new Object[] {date.getTime()});

上面的帖子还提到了以下替代方法,将日期从js转换为java(我还没有确认):

Date date = new Date((long) ScriptRuntime.toNumber(s)); 

答案 2 :(得分:-2)

你试过了吗??

java.sql.Date.valueOf("date string");