2010-04-30 22 views
19

Chcę przekonwertować datę ciąg na znacznik czasu w języku Java. Poniższe kodowanie napisałem. Deklarowałem datę date1: 7-11-11 12:13:14.Jak przekonwertować datę ciągu na znacznik czasu w języku Java?

SimpleDateFormat datetimeFormatter1 = new SimpleDateFormat(
       "yyyy-MM-dd hh:mm:ss"); 
Date lFromDate1 = datetimeFormatter1.parse(date1); 
System.out.println("gpsdate :" + lFromDate1); 
Timestamp fromTS1 = new Timestamp(lFromDate1.getTime()); 

Chcę przekonwertować 7-11-11 12:13:14 tej daty ciągu na znacznik czasu. Teraz mam dane wyjściowe: 0007-11-11 00: 13: 14.000000 +05: 30: 00, ale chcę (7-11-11 12:13:14) w tym formacie Data datownika. Czy ktoś może mi pomóc. Dziękuję Ci.

+0

możliwe duplikat - (http [Java Timestamp Jak mogę stworzyć datownik z datą 23/09/2007?]: // stackoverflow. com/questions/974973/java-timestamp-how-can-i-create-a-timestamp-with-date-23-09-2007) –

Odpowiedz

16

Wszystko, co musisz zrobić, to zmienić ciąg w konstruktorze do java.text.SimpleDateFormat: „MM-dd-rrrr gg: mm: ss ".

Wystarczy użyć odpowiednich liter, aby zbudować powyższy ciąg w celu dopasowania do daty wprowadzenia.

+0

Dziękuję za odpowiedź. – lakshmi

+0

Zmieniłem SimpleDateFormat na "yyyy-MM-dd HH: mm: ss". Teraz mam odpowiedź jest 2007-11-11 12: 13: 14.000000 +05: 30: 00, problem jest nie mogę dodać tej wartości do mojej tabeli bazy danych. Chcę wyświetlić datę i format czasu 2007-11-11 12:13:14. Jak to zrobić..? – lakshmi

+0

Wielkie dzięki dostałem odpowiedź. – lakshmi

3

Wykorzystanie kapitału HH dostać godzinę formacie dzień, zamiast godzin AM/PM

+0

Dzięki za odpowiedź .. – lakshmi

2

Możesz nawet spróbować.

String date="09/08/1980"; // take a string date 
    Timestamp ts=null; //declare timestamp 
    Date d=new Date(date); // Intialize date with the string date 
    if(d!=null){ // simple null check 
     ts=new java.sql.Timestamp(d.getTime()); // convert gettime from date and assign it to your timestamp. 
    } 
6

java.sql.Timestamp można analizować

Jeśli można wykorzystać pełne cztery cyfry roku, ciąg wejściowy 2007-11-11 12:13:14 byłoby w standardowym formacie SQL zakładając tę ​​wartość ma być w UTC strefa czasowa.

Klasa java.sql.Timestamp ma metodę valueOf do bezpośredniego analizowania takich łańcuchów.

String input = "2007-11-11 12:13:14" ; 
java.sql.Timestamp ts = java.sql.Timestamp.valueOf(input) ; 

java.time

W Javie 8 i później, ramy java.time ułatwia sprawdzenie wyników. Klasa j.s.Timestamp ma nieprzyjemny zwyczaj domyślnego stosowania bieżącego domyślnego znacznika czasu maszyny JVM podczas generowania reprezentacji ciągów za pomocą metody toString. Natomiast klasy java.time domyślnie używają standardowych formatów ISO 8601.

System.out.println("Output: " + ts.toInstant().toString()); 
1

String można przekonwertować do timestamp:

String inDate = "01-01-1990" 
DateFormat df = new SimpleDateFormat("MM-dd-yyyy"); 
Timestamp ts = new Timestamp(((java.util.Date)df.parse(inDate)).getTime()); 
Powiązane problemy