2009-04-08 8 views
0

Je fais rs.getTimestamp ("datetime")Java et problème de date MySQL

en Java.

Dans la base de données, ce datetime est 2009/03/06 02:47:18

mais le temps est retourné comme 14:47:18

Je ne suis pas très bien informé sur les dates MySQL, donc j'apprécierais n'importe quelle explication quant à pourquoi ceci se produit.

+0

Etes-vous sûr que le temps dans le DB n'est pas 14:47:18? Parce que ce serait exactement 14:47:18 –

+0

C'est. Qui vient de compliquer l'utilisation du temps pour récupérer des enregistrements – kilhra

Répondre

2

Peu importe. Ce n'est pas à propos de MySQL ou de n'importe quelle base de données. C'est le format que Timestamp affiche par défaut, je crois. Cela ne signifie pas qu'il a manqué la date ou quelque chose.

Vous pouvez toujours mettre en forme l'horodatage renvoyé par la méthode dans n'importe quel format de votre code. Découvrez java.text.SimpleDateFormat classe. Ou pour le meilleur, consultez beaucoup plus sophistiqué Joda Time.

+0

Je le formate en utilisant un SimpleDateFormatter, en utilisant HHmmss comme format. – kilhra

+0

Essayez le petit «h». Quelque chose comme "hhmmss un" –

+0

Pour exact comme MySQL, essayez "aaaa/MM/jj hh: mm: ss" –

1

Deux choses. Premièrement, je pense que nous avons besoin d'un exemple de code. Ce qui se passe n'est pas du tout clair à partir de ce que vous nous avez donné. Contexte, utilisation, schéma de base de données et lignes d'échantillons.

Ensuite, ResultSet.getTimestamp() doit retourner un objet de type Timestamp, plutôt qu'une chaîne de n'importe quel type.

0

SimpleDateFormat time = nouveau SimpleDateFormat ("HHmmss");

datime = time.format (rs.getTimestamp ("datetime"))

puis datime est imprimé dans un fichier.

la colonne datetime dans le tableau est un type de données datetime

+0

Pour exact comme MySQL, essayez "aaaa/MM/jj hh: mm: ss" –