Format heure date 24

Bonjour

Je suis sur une Debian Etch.
Je lance un script depuis rc.local qui exécute un programme java.
Dans rc.local je définit également quelques variables d’environnement.
J’utilise une fonction de date dans le script java pour me retourner la date courante du système.

Je reboot la machine avec la ligne du script dans rc.local :
Quand je voit la date (affichée au sein du programme), elle est sous la forme de 07050325327 qui veut dire :
Année 2007, Mois 05, Jour 03, 2 heure pm, 53 minutes, et 27 secondes.

Maintenant quand j’enlève le script de rc.local, je reboot la machine, je me connecte en session avec root, puis je lance le même script, il me donne le bon format que je veux, cad : 070503145327.

Sachez que quand je tape la commande # date , elle affiche :
samedi 7 juillet 2007, 15:10:40 (UTC+0000)

Quand je tape la commande # hwclock --show , elle affiche :
sam 07 jui 2007 15:10:25 UTC -0.348852 seconds

Est ce un problème de différence de format de date heure entre le système et l’environnement de root ?
Comment je peux résoudre ce problème de format d’heure.

Merci.

quote="moudarir"
J’utilise une fonction de date dans le script java pour me retourner la date courante du système.

Je reboot la machine avec la ligne du script dans rc.local :
Quand je voit la date (affichée au sein du programme), elle est sous la forme de 07050325327 qui veut dire :
Année 2007, Mois 05, Jour 03, 2 heure pm, 53 minutes, et 27 secondes.

Maintenant quand j’enlève le script de rc.local, je reboot la machine, je me connecte en session avec root, puis je lance le même script, il me donne le bon format que je veux, cad : 070503145327.
(…)[/quote]C’est ton script java qui produit une mauvaise sortie, mais sans le code, difficile de savoir pourquoi.
Et même avec le code, moi je ne pourrais sans doutes pas t’aider.
Sinon, tu peux peut être faire un appel à la commande

Merci pour ta réponse.
le Code java que j’utilise est :
public static void main(String[] argv)
{
GregorianCalendar ToDay = new GregorianCalendar() ;
ToDay.add(GregorianCalendar.DATE, 0);
Date d = ToDay.getTime();
SimpleDateFormat sf = new SimpleDateFormat();
String start = sf.format(d);
System.out.println(“date recuperee :”+start);
}}

Ce que j’ai remarque que snas que je fais un :
SimpleDateFormat sf = new SimpleDateFormat(“yyMMddHHmmss”);
Quand je lance le meme script à partir de la ligne de commande (une fois connecté en session), il me fournis le bon format (heure sur 24 heure).

Par contre quand le meme script est lancer au démarrage de la machine avec /etc/rc.local ça ne donne pas le meme résultat.
Il donne l’heure au format hmmss

je ne connais pas du tout java, mais passes l’argument “yyMMddHHmmss” au constructeur SimpleDateFormat() de sf, pour voir.

Bonjour
Si je fais comme tu dis , ça règle le problème, mais il faut que je le fasse dans des dizaines d’applet que j’ai programmer dans des différentes sections.
Ce qui m’ennuie dans tout ça, c’est que j’ai pas besoin de modifier mon code si je démarre le script après avoir été authentifier dans une session.
Je me disais quel est la différence ?
Entre démarrer un script à partir de /etc/rc.local , et le démarrer après s’être connecté ne donne pas le même résultat.
Apparemment, le format de l’heure change entre le système et l’utilisateur root.
Je suis pas sure de ce que je dis.
Salutations.

un contournement est de lancer tes applets avec sudo pour t’identifier sous l’utilisateur que tu veux en les lançant.
Mais je ne sais pas sous quel user se lance cron, et si c’est nobody, c’est un peu dangereux de donner les droits à nobody de se connecter en root :laughing: