Salut ,
je veux enregistrer la date systeme dans ma base (oracle) sous forme ( 08/06/2004 08:37:00 )
j'ai utiliser java.sql.date(System.currentTimeMillis()) mais il l'enregistre sous forme (08/06/2004) .
Merci pour l'aide
Salut ,
je veux enregistrer la date systeme dans ma base (oracle) sous forme ( 08/06/2004 08:37:00 )
j'ai utiliser java.sql.date(System.currentTimeMillis()) mais il l'enregistre sous forme (08/06/2004) .
Merci pour l'aide
Essaie avec Timestamp
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.sql.Timestamp(System.currentTimeMillis());
Salut,
Bon courage...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import java.sql.Date; import java.text.SimpleDateFormat; public class Test { public static void main(String[] args) { Date date = new Date( System.currentTimeMillis() ); SimpleDateFormat sdf = new SimpleDateFormat( "dd/MM/yyyy hh:mm:ss" ); System.out.println( sdf.format( date ) ); } }
Oui mais si tu fais ça je pense que tu va avoir 08/06/2004 00:0:00, enfin à vérifierEnvoyé par cpr0
Non Thibaut, on récupère bien l'heure. L'objet date sql contient aussi l'heure, même si effectivement on peut obtenir l'heure avec Time qui hérite, ceci dit en passant, de Date. J'ai testé le code avant de l'envoyer, j'aurais effectivement du le préciser.
Un détail, en France il est préférable d'utiliser le pattern "HH:mm:ss" pour avoir les heures de 0 à 23 et non de 1 à 12.
Bye...
Alors pourquoi tu as besoin de préciser le formatge pour insérer en base, je vois pas l'intérêt ...
Je pige pas ta question là ??? Nanoua a besoin de rentrer en base la date et l'eure systèmes, il peut s'il le veut l'enregistrer entièrement dans un même champ texte, où est le problème ? Et si tu ne passes pas par un formatage, tu n'auras que la date et non l'heure avec le toString de java.sql.Date.
Maintenant, je ne connais pas Oracle, mais j'imagine qu'il doit forcément exister un type date et/ou time ou une combinaison des 2 et dans ce cas, effectivement, autant stocker directement la date sous format date. C'est d'ailleurs beaucoup mieux si on a des traitements à faire sur cette information, style des tris.
Par contre, le code que j'ai fourni à Nanoua lui sera utile pour l'affichage car, a un moment donné, il va bien être obligé de la ressortir cette date, sinon, à quoi ça sert de la stocker ?
Ce que je veux dire, ça va changer quoi de la formater ou non, au niveau de l'insertion dans la base:
Si il fait PreparedStetement.setDate(); il n'y aura aucun problème de formatage puis en base l'objet sera représenté comme un DATE donc contenant toutes les données de l'onjet java Date.
Si il fait un PreparedStatement.setString(date.toString()), java va appliquer un formatae par défaut suivant la Local.
Si il fait setDate et que la colonne est de type VARCHAR2 alors Oracle va appliquer un formatge par défaut qui est définit que pour lui ???
Tout à fait, c'est exactement ce que j'explique dans le post précédent. Autant stocker la date dans un champ date, en prenant soin de vérifier que l'heure y sera également stockée. Je rappelle que je ne connais absolument pas Oracle...
On est d'accord:
- si le champ oracle est DATE aucun besoin de formatage...
- si le champ est VARCHAR ou CHAR formatage selon le format par défaut de oracle...
Bon, on ne va pas en écrire des tonnes Thibaut sinon ils vont tous commencer à se lasser, apparemment on est d'accord. Juste pour info, quand tu stockes la date au format date sous Oracle, il te stocke l'heure avec ? Je pose la question car, avec MySql, il faut spécifier DATETIME...
Je m'interesse plus au sauvegarde , car je veux faire des comparaison sur les dates pour une même journée par heure ou par minute ....
J'ai utilisé Timestamp,
<CODE>
long currentTime = System.currentTimeMillis();
java.sql.Timestamp time= new java.sql.Timestamp(System.currentTimeMillis());
dataSet.setTimestamp("DATE_ACTION",new Timestamp( currentTime ));
</CODE>
mais au niveau de l'affichage la colonne du dataSet affiche la date avec l'heure, minute et seconde mais lorsque je sauvegarde il sauvegarde que la date .
Merci
Quel est le format de ta colonne ???
Comment tu contrôles que la date n'est pas insérée correctement ???
colonne a comme dataType : timeStamp.
Pour la vérification :
1. le contenue du champs dans la base contient seulement la date.
2.Pour l'affichage il affiche toujours les heures et les minutes et les secondes nulles(Puisque ils n'existent pas dans la base).
Salut,
ça va il marche, il suffit de preciser de sqlType de timeStamp: (colonne.setSqlType(93)...)
Merci pour ce Post il vient de m'aider
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager