100 votes

Java: Convertir une chaîne en TimeStamp

J'ai un problème lorsque j'essaie de convertir une String en TimeStamp. J'ai un tableau qui contient la date au format yyyy-MM-dd et je veux la changer au format yyyy-MM-dd HH:mm:ss.SSS. Donc, j'utilise ce code :

final String OLD_FORMAT = "yyyy-MM-dd";
final String NEW_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
String oldDateString = createdArray[k];
String newDateString;

final DateFormat formatter = new SimpleDateFormat(OLD_FORMAT);
final Date d = formatter.parse(oldDateString);
((SimpleDateFormat) formatter).applyPattern(NEW_FORMAT);
newDateString = formatter.format(d);
System.out.println(newDateString);

final Timestamp ts = Timestamp.valueOf(newDateString);
System.out.println(ts);

et je reçois le résultat suivant.

2009-10-20 00:00:00.000

2009-10-20 00:00:00.0

mais quand j'essaie simplement de faire

final String text = "2011-10-02 18:48:05.123";
ts = Timestamp.valueOf(text);
System.out.println(ts);

Je reçois le bon résultat :

2011-10-02 18:48:05.123

Sauriez-vous ce que je pourrais faire de travers ?

Merci pour l'aide.

3voto

Akshay Misal Points 119
DateFormat formateur = new SimpleDateFormat("yyyy-MM-dd");

Date date = formateur.parse(dateString);

Timestamp horodatage = new Timestamp(date.getTime());

System.out.println(horodatage);

2voto

Mahesh Narwade Points 159
DateFormat formatter;
formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = (Date) formatter.parse(str_date);
java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());

2voto

Amulya Koppula Points 22

Voici ce que j'ai fait:

Timestamp timestamp = Timestamp.valueOf(stringValue);

stringValue peut être n'importe quel format de Date/Heure.

0voto

naveedkhan Points 1686

Tout d'abord, convertissez votre chaîne de date en date, puis convertissez-la en timestamp en utilisant l'ensemble de lignes suivant :

final Date date = new Date();
final Timestamp timestamp = new Timestamp(date.getTime()); // Au lieu de la date, mettez votre date convertie
final Timestamp myTimeStamp = timestamp;

0voto

Suresh U Points 463

Pouvez-vous l'essayer une fois...

String dob="votre chaîne de date";
String dobis=null;
final DateFormat df = new SimpleDateFormat("yyyy-MMM-dd");
final Calendar c = Calendar.getInstance();
try {
    if(dob!=null && !dob.isEmpty() && dob != "")
    {
    c.setTime(df.parse(dob));
    int month=c.get(Calendar.MONTH);
    month=month+1;
    dobis=c.get(Calendar.YEAR)+"-"+month+"-"+c.get(Calendar.DAY_OF_MONTH);
    }

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X