Comment insérer la date actuelle dans mysql db en utilisant java

Je souhaite insérer la date et l’heure actuelles dans des colonnes définies en tant que type datetime.

J’ai tapé le code suivant:

java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime()); PrepStmt.setDate(1, sqlDate); 

Lorsque je vérifie la firebase database, je constate que la date est correctement insérée, mais que l’heure est: 00:00:00. Quelle est la solution?

Puisque vous utilisez datetime comme type de colonne, vous devez utiliser java.sql.Timestamp pour stocker votre date et PrepareStatement.setTimestamp pour l’insérer.

Essayez d’utiliser ceci: –

 java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime()); PrepStmt.setTimestamp(1, date); 

Vous utilisez une mauvaise méthode. Vous pouvez utiliser PreparedStatement#setTimestamp(int parameterIndex, Timestamp x) place.

Ce que vous devez utiliser est la méthode setTimestamp (int parameterIndex, Timestamp x) au lieu de la méthode setDate ().

L’une des façons de définir l’horodatage est la suivante:

 Timestamp timestamp = new Timestamp(new Date().getTime()); 

Vous pouvez ensuite définir le paramètre comme suit:

 PrepStmt.setTimestamp(1, timestamp); 

On dirait que tu as besoin

 java.sql.Timestamp 

Celui qui utilise java.sql.Date sert java.sql.Date à traiter les dates et n’enregistre pas le temps. Sinon, vous pouvez utiliser java.sql.Time si vous ne voulez que du temps.

Essayez avec setTimestamp as

 PrepStmt.setTimestamp(1, sqlDate); 
 java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime()); PrepStmt.setTimestamp(1, date); 

Je l’ai résolu en utilisant ceci ..