106 votes

Horodatage Java - Comment créer un horodatage avec la date du 23/09/2007?

Comment créer un horodatage avec la date du 23/09/2007?

159voto

Adam Paynter Points 22056

Par Timestamp , je suppose que vous voulez dire java.sql.Timestamp . Vous remarquerez que cette classe a un constructeur qui accepte un argument long . Vous pouvez analyser cela en utilisant la classe DateFormat :

 DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = dateFormat.parse("23/09/2007");
long time = date.getTime();
new Timestamp(time);
 

130voto

pigouina Points 590

Et ça?

 Timestamp timestamp = Timestamp.valueOf("2007-09-23 10:10:10.0");
 

18voto

Matthew Flaschen Points 131723

Que voulez-vous dire par horodatage? Si vous voulez dire millisecondes depuis l’époque Unix:

 GregorianCalendar cal = new GregorianCalendar(2007, 9 - 1, 23);
long millis = cal.getTimeInMillis();
 

Si vous voulez un objet java.sql.Timestamp réel:

 Timestamp ts = new Timestamp(millis);
 

6voto

atc Points 1553

Vous pouvez également faire ce qui suit:

 // untested
Calendar cal = GregorianCalendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 23);// I might have the wrong Calendar constant...
cal.set(Calendar.MONTH, 8);// -1 as month is zero-based
cal.set(Calendar.YEAR, 2009);
Timestamp tstamp = new Timestamp(cal.getTimeInMillis());
 

4voto

Philipp Points 2117

Selon l' API, le constructeur qui accepterait de l'année, le mois, et ainsi de suite est obsolète. Au lieu de cela vous devez utiliser le Constructeur qui accepte un long. Vous pouvez utiliser un Calendrier de mise en œuvre pour construire la date que vous voulez et d'accéder au temps de la représentation comme une longue, par exemple avec la getTimeInMillis méthode.

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