Tartışma converting string representation of unknown date-format to Date in java dayanarak, App-Engine projemde JavaScript Date
işlevini kullanmak istiyorum. Ancak, ScriptEngine App Engine'de çalışmaz. Bu yüzden Rhino'ya dönüştürme konusunda biraz yardıma ihtiyacım var.Java'da Javascript kodunu çalıştırmak için ScriptEngine yerine Rhino kullanma
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("JavaScript");
String script = "var date = new Date('" + dateInUnknownFormat + "'); var timestamp = date.getTime();";
engine.eval(script);
long timestamp = ((Double) engine.get("timestamp")).longValue();
aşağıdaki
private static long parseDateUsingRhino(String dateInUnknownFormat){
Context mozillaJsContext = Context.enter();
Scriptable scope = mozillaJsContext.initStandardObjects();
String script = "var date = new Date('" + dateInUnknownFormat + "'); var timestamp = date.getTime();";
Object obj = mozillaJsContext.evaluateString(scope, script, "TestScript", 1, null);
Double timeDouble = Double.parseDouble((String) obj);
long timestamp = timeDouble.longValue();
return timestamp;
}
çalışmadığı anlamına gelir ve zaten
null
ve
""
ile
"TestScript"
yerini almıştır: İşte dönüştürmek gerekir ScriptEngine kodudur.
Hata izini eklemeyi unuttun mu? – Filip
Hayır. Anladım çünkü ilgisizdi. Sadece kodu doğru yazmayı bilmiyorum. Gereksizliği, denediğim şeye bağlı olarak farklı hatalar veya hatalar almamdan kaynaklanıyor. Ama sonuçta, Rhino'nun bir sonuç üretmesini asla başaramıyorum. Açıkçası Rhino'nun nasıl çalıştığını bilen biri, ScriptEngine versiyonunu Rhino'ya çevirmekte zorlanmayacaktır. – learner