67 votes

Comment convertir Calendar to Date en Java?

 Calendar cal;
String sql = "INSERT INTO ttable (dt) values (?);"
//dt is a dateTime field in ttable

PreparedStatement stmt = connection.prepareStatement(sql);

stmt = setDate(1,cal); //not working

stmt.execute();
stmt.close();
 

Je voudrais convertir cal en type Date à insérer dans un tableau.

135voto

Jim Points 13533

Il existe une méthode getTime (vous ne savez pas pourquoi elle ne s'appelle pas getDate).

Edit: Je viens de réaliser que vous avez besoin d’un java.sql.Date. Une des réponses qui utilise cal.getTimeInMillis() est ce dont vous avez besoin.

35voto

Kurt Du Bois Points 3045

Avez-vous essayé cal.getTime ()? Cela obtient la représentation de la date.

Vous voudrez peut-être aussi regarder le javadoc.

33voto

James Jithin Points 2573

Utilisez stmt.setDate(1, new java.sql.Date(cal.getTimeInMillis()))

10voto

rebeliagamer Points 876

La conversion est facile, régler la date et l'heure est un peu délicat. Voici un exemple:

 Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2000);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.HOUR_OF_DAY, 1);
cal.set(Calendar.MINUTE, 1);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
stmt.setDate(1, new java.sql.Date(cal.getTimeInMillis()));
 

2voto

Orit Points 1

J'ai trouvé ce code fonctionne:

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");    
Calendar calendar = new GregorianCalendar(2013,0,31);
System.out.println(sdf.format(calendar.getTime()));  
 

vous pouvez trouver le reste dans ce tutoriel:
http://www.mkyong.com/java/java-date-and-calendar-examples/

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