482 votes

Comment convertir java.util.date java.sql.date ?

Je suis en train d’utiliser java.util.Date comme entrée, puis en créant une requête avec elle - donc j’ai besoin java.sql.Date.

J’ai été surpris de constater qu’il ne pouvait pas effectuer la conversion implicite ou explicite - mais je ne sais même pas comment je pourrais faire cela, car l’API Java est encore assez nouveau pour moi. Toutes les suggestions ? Il semble que cela devrait être un exploit facile à accomplir.

510voto

David Ackerman Points 3667

40voto

mauretto Points 1136

Avec l’autre réponse, vous pourriez avoir des ennuis avec les infos du moment (Comparez les dates avec des résultats inattendus !)

Je suggère :

29voto

chetan Points 14

Cette fonction renvoie un converti SQL date à partir de java objet date.

public java.sql.Date convertJavaDateToSqlDate(java.util.Date date) {
    return new java.sql.Date(date.getTime());
}

2voto

Krishna Points 708

Ici l'exemple de la conversion de l'Util Date de Sql date et ya ceci est un exemple de ce que j'utilise dans mon projet pourrait être utile à vous aussi.

java.util.Date utilStartDate = table_Login.getDob();(orwhat ever date your give form obj)
java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());(converting date)

1voto

Donovan Thomson Points 33

Méthode pour comparer 2 dates (util.date ou sql.date)

 public static boolean isSameDay(Date a, Date b) {
    Calendar calA = new GregorianCalendar();
    calA.setTime(a);

    Calendar calB = new GregorianCalendar();
    calB.setTime(b);

    final int yearA = calA.get(Calendar.YEAR);
    final int monthA = calA.get(Calendar.MONTH);
    final int dayA = calA.get(Calendar.DAY_OF_YEAR);

    final int yearB = calB.get(Calendar.YEAR);
    final int monthB = calB.get(Calendar.MONTH);
    final int dayB = calB.get(Calendar.DAY_OF_YEAR);

    return yearA == yearB && monthA == monthB && dayA == dayB;
}

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