web-dev-qa-db-fra.com

Comment convertir une date de chaîne en Timestamp en Java?

Je veux convertir la chaîne Date en Timestamp en Java. Le codage suivant que j’ai écrit.J’ai déclaré que la date de date1 était: 7-11-11 12:13:14.

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());

Je veux convertir 7-11-11 12:13:14 cette date de chaîne en horodatage. Maintenant, la sortie est 0007-11-11 00: 13: 14.000000 +05: 30: 00 mais je veux (7-11-11 12:13:14) ce format la date et l'heure. Est-ce que quelqu'un peut m'aider s'il vous plait. Je vous remercie.

21
lakshmi

Tout ce que vous avez à faire est de changer la chaîne dans le constructeur Java.text.SimpleDateFormat en: "MM-jj-aaaa HH: mm: ss".

Utilisez simplement les lettres appropriées pour construire la chaîne ci-dessus en fonction de votre date de saisie.

20
Glen Robertson

Java.sql.Timestamp peut analyser

Si vous pouvez utiliser les quatre chiffres complets de l'année, votre chaîne de saisie de 2007-11-11 12:13:14 serait au format SQL standard, en supposant que cette valeur se trouve dans le fuseau horaire UTC.

La classe Java.sql.Timestamp a une méthode valueOf pour analyser directement ces chaînes.

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

Java.time

Dans Java 8 et versions ultérieures, l'infrastructure Java.time facilite la vérification des résultats. La classe j.s.Timestamp a la fâcheuse habitude d’appliquer implicitement l’horodatage par défaut actuel de votre JVM lors de la génération d’une représentation sous forme de chaîne via sa méthode toString . En revanche, les classes Java.time utilisent par défaut les formats standard ISO 8601 .

System.out.println( "Output: " + ts.toInstant().toString() );
9
Basil Bourque

Utilisez la variable majuscule HH pour obtenir le format de l'heure de la journée au lieu des heures am/pm

3
MeBigFatGuy

Vous pouvez même essayer ceci.

   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.
    }
3
Sireesh Yarlagadda

Vous pouvez convertir une chaîne en horodatage:

String inDate = "01-01-1990"
DateFormat df = new SimpleDateFormat("MM-dd-yyyy");
Timestamp ts = new Timestamp(((Java.util.Date)df.parse(inDate)).getTime());
2
Jenya Miachyn

Utilisez le code ci-dessous pour convertir String Date en horodatage d'époque ..__ Remarque: le format de votre date d'entrée doit correspondre à SimpleDateFormat.

String inputDateInString= "8/15/2017 12:00:00 AM";
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyy hh:mm:ss");

Date parsedDate = dateFormat.parse("inputDateInString");

Timestamp timestamp = new Java.sql.Timestamp(parsedDate.getTime());

System.out.println("Timestamp "+ timestamp.getTime());
0
Navdeep Ghotra