2011-10-12 13 views
5

Ben java.util.Date içine rhino kütüphanesi ile değerlendirilen bir JavaScript betiğinden aldığım bir tarih ayrıştırmak çalışıyorum, bir org.mozilla dönüştürebilirsiniz. javascript.NativeDate bir java.util.Date içine?Java.util.Date içinde Parse org.mozilla.javascript.NativeDate

i aşağıdaki biçimde bir tarih olsun Context.tostring yöntemi ile bir dizeye NativeDate dönüştürüldüğünde:

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

Nasıl bir java.util.Date nesnesine bu dize tarih gösterimini ayrıştırmak ki?

cevap

6

Rhino yılında

context.jsToJava(nativeDateObj, Date.class);

+2

Herkes merak ettiyse, bu statik bir yöntemdir, betik içeriğine erişmeniz gerekmez. –

-2

Denediniz mi?

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

: Yukarıdaki sonrası da (bunu teyit değil) java için js bir tarih dönüştürmek için aşağıdaki alternatif söz

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

ValueOf (String) yöntemi Date – aleroot

+1

Undefined türünde tanımsız? Yöntem SE Java'da bulunmaktadır: http://download.oracle.com/javase/6/docs/api/java/sql/Date.html#valueOf(java.lang.String) – lynks

+0

JDK 7 – aleroot

3

Bvesco cevabı iyi çalışıyor kullanın. Ancak bunu diğer şekilde yapmak (java'dan js'ye) tamamen basit değil - Context.javaTojs() tarihleri ​​için çalışmaz. Sonunda çözüm here bulundu - javascript Oluşturucu kullanın:

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

JS'ye giderken javascript kurucuyu kullanmak işe yarar .. Teşekkürler – bigspotteddog

+0

Sorunumu çözmeme yardım edermisiniz. çözümünüzü uygulamak için ama nasıl bilmiyorum: http: // stackoverflo w.com/questions/33192485/using-rhino-instead-of-scriptengine-to-run-javascript-code-in-java – learner

İlgili konular