2010-04-30 4 views
19

Je veux convertir la chaîne Date en Timestamp en java. Le codage suivant j'ai écrit. J'ai déclaré que la date de date1 est: 7-11-11 12:13:14.Comment faire pour convertir la date de la chaîne en Timestamp in 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()); 

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

+0

double possible - (http [Java Timestamp Comment puis-je créer un Horodatage avec la date 23/09/2007?]: // stackoverflow. com/questions/974973/java-timestamp-comment-je-peux-je-créer-un-timestamp-avec-le-date-23-09-2007) –

Répondre

16

Tout ce que vous devez faire est de changer la chaîne dans le constructeur java.text.SimpleDateFormat à: « MM-jj-aaaa HH: mm: ss ". Utilisez simplement les lettres appropriées pour construire la chaîne ci-dessus pour correspondre à votre date d'entrée.

+0

Merci pour votre réponse. – lakshmi

+0

J'ai changé le SimpleDateFormat comme "aaaa-MM-jj HH: mm: ss". Maintenant, j'ai obtenu une réponse est 2007-11-11 12: 13: 14.000000 +05: 30: 00, le problème est que je ne peux pas ajouter cette valeur dans ma table de base de données. Je veux afficher le format de date et d'heure est 2007-11-11 12:13:14. Comment faire ça ..? – lakshmi

+0

Merci beaucoup j'ai eu une réponse. – lakshmi

3

utiliser le capital HH pour obtenir une heure de format jour, au lieu de am/pm heure

+0

Merci pour votre réponse .. – lakshmi

2

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. 
    } 
6

java.sql.Timestamp peut Parse

Si vous pouvez utiliser les quatre chiffres complets pour l'année, votre chaîne d'entrée de 2007-11-11 12:13:14 serait en format standard SQL en supposant cette valeur est censée être en UTC fuseau horaire.

La classe java.sql.Timestamp possède 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

En Java 8 et plus tard, le cadre de java.time rend plus facile de vérifier les résultats. La classe j.s.Timestamp a la mauvaise habitude d'appliquer implicitement l'horodatage par défaut actuel de votre JVM lors de la génération d'une représentation 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()); 
1

Vous pouvez convertir la chaîne en timestamp:

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