我正在尝试解析从使用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对象?
答案 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");