Comment créer un horodatage avec la date du 23/09/2007?
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);
_
Et ça?
Java.sql.Timestamp timestamp = Java.sql.Timestamp.valueOf("2007-09-23 10:10:10.0");
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);
Selon le API , le constructeur qui accepterait l'année, le mois, etc., est déconseillé. Au lieu de cela, vous devriez utiliser le constructeur qui accepte un long. Vous pouvez utiliser une implémentation Calendrier pour construire la date de votre choix et accéder à la représentation temporelle en tant que long, par exemple avec la méthode getTimeInMillis .
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());