Muszę konwertować JsDate do java.util.Date. Szukałem, ale nic nie mogłem znaleźć. Więc możesz mi pomóc z tym problemem?

Edytuj: Wykonuję ten proces konwersji na ekranie GWT. Mam Datepicker na ekranie i daje mi wartość JsDate, gdy używam jego metody getValue(). Więc mam umieścić tę wartość w nieruchomości obiektu, który ma typ daty.

ObjectName.setDate(PickerName.getValue());

Mam nadzieję, że moja edycja będzie bardziej jasna.

edytuj2:

Ta linia jest rozwiązaniem mojego problemu:

myObject.setDate(new Date((long) myPicker.getValue().getTime()));
42
angaraeski 30 lipiec 2012, 17:41

6 odpowiedzi

Najlepsza odpowiedź

Najlepszym sposobem konwersji dat jest używając czasu w Milisekundach, UTC. Zarówno JS Date Obiekt i Java.util.date Class Class Conversion do Milisekundy ({X0}}) i instancje z milisekundów (przy użyciu konstruktora).

39
AlexR 30 lipiec 2012, 13:50

Możesz utworzyć obiekt java.util.Date z wartości "od czasu EPOCH" Wartość 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);
36
epoch 30 lipiec 2012, 13:57

Jeśli ludzie tacy jak ja zostaną zmuszeni do analizowania ciągów JS-sformatowany ciąg daty (w wyniku (new Date()).toString() w JavaScript), tutaj jest spectateFormat specyfikacja:

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

Jeśli masz kontrolę nad producentem dat, zgadzam się, że stosowanie znaczników czasu lub przynajmniej {x0}} jest zdecydowanie bardziej solidne.

13
Valentin Waeselynck 29 listopad 2015, 23:24

Możesz to chcieć:

java:
String jsDate="2013-3-22 10:13:00";
Date javaDate=new SimpleDateFormat("yy-MM-dd HH:mm:ss").parse(jsDate);
System.out.println(javaDate);
3
Freek de Bruijn 17 sierpień 2018, 11:39

Sugerowałbym korzystanie z metody Parse DateForta (DOC można znaleźć tutaj). Może przeanalizować reprezentację strunową daty i zwrócić java.util.date.

0
Eivind Eidheim Elseth 30 lipiec 2012, 13:48

JS Data - Nowa data () Środa 14 sierpnia 2019 14:54:38 GMT + 0530 (czas standardowy Indie)

Data Java - Nowa data (). Toisostring () "2019-08-14t09: 25: 50.136Z"

0
Akhilesh Sinha 14 sierpień 2019, 09:26