Obtenir une date yyyy-MM-DD hh:mm:ss en seconde depuis 1970.... [Résolu]

Signaler
Messages postés
24
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
7 août 2006
-
Messages postés
24
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
7 août 2006
-
Mon probleme est simple, j'ai besoin de convertir une date sous le format defini par yyyy-MM-DD hh:mm:ss en seconde depuis 1970...



Ces dates vienne d'une table, quand je la lit avec un tableur du genre
editTable je peut lire un format de date conventionnel, mais quand je
fait une commande du genre

String sec= rs.getString("TIMESTAMP"); (ou rs est un resultset et timestamp le nom de la colonne contenant des dates definies comme ci dessus)

J'obtient une string du genre "2005-05-20.13.15. 12. 856000"



Si quelqu'un peut me dire pourquoi ou au moins me dire comment en faire une valeur en seconde.





Merci

7 réponses

Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Salut,
utilise la classe Scanner de Java 5 :

http://java.sun.com/j2se/1.5.0/docs/api/index.html?java/io/PrintStream.html

Trouve l'expression qui te permettra de correctement parser ta chaine ...

++
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
8
yop,

j suis pas une star la dedans mais je pense que les types de ta colonne TIMESTAMP sont eux aussi des TIMESTAMP et que donc ton driver jdbc doit cree un objet de type TimeStamp et appeler le toString dessus ce qui te donne jusqu aux nanosecondes (c la caractéristique du timestamp).

moi ce que je dirai comme ca, soit tu changes les types TIMESTAMP en DATE dans ta BD (mais c pas top comme solution) et ca dervrai passer

soit essaye de faire un rs.getDate("TIMESTAMP").toString() et la ca devrai passer.(un peu mieux)

++ Toinou
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
SAlut,
dans ce cas un getTimestamp() devrait arranger l'affaire tout simplement non ???

++
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
8
ben pour moi s il fais un getTimeStamp, il aura un TimeStamp, donc son toString() lui renverra les nanosecondes (soit apres il peut faire un traitement dessus)
mais si il fais un getDate().toString() il aura plus les millisecondes (ca fera tj moins de code)

enfin si j ai bien compri ce qu il voulai

++ Toinou
PS: je suis quand meme pas sur que le toSting fasse bien ce qu il veuille, dans ce cas il devra faire le meme traitement que ce soit sur Date ou sur TimeStamp donc c kifkif .
Messages postés
24
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
7 août 2006

Salut

Dsl, je me suis mal exprimé, ce que je obtenir en fait, c'est d'une date Timestamp

YYYY-MM-DD hh:mm:ss.... une date en seconde (ou ms, ou ns, peu importe) de convention depuis 1970-01-01 00:00:00, du genre 1120466333 (secondes).



Mais sinon merci car vos explications m'ont tout de même étés très utiles, et était claires et simple



Merci
Messages postés
24
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
7 août 2006

Très bien!!! c'est exactement ce que je voulais, c'est simple et efficace. Merci

Je sais que ce sont des trucs de bases, mais il faut savoir que je suis
stagiaire, et qu'on m'a demandé, sans aucune formation en prog, de
faire une multitude de prog jdbc avec interface swing ect...., je vous
remercie tous les deux car vous avez su me répondre sur deux point et
vous m'avez fait gagner beaucoup de temps. Merci