IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Active Directory] Convertir accountExpires dans un format lisible


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 31
    Points
    31
    Par défaut [Active Directory] Convertir accountExpires dans un format lisible
    Bonjour,

    Je voudrai convertir l'attribut accountExpires (exemple:9223372036854775807), en un format "yyyyMMddHHmmssZ" plus compréhensible.

    Est ce que quelqu'un peut m'aider à le faire ?

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par zakarota Voir le message
    Bonjour,

    Je voudrai convertir l'attribut accountExpires (exemple:9223372036854775807), en un format "yyyyMMddHHmmssZ" plus compréhensible.

    Est ce que quelqu'un peut m'aider à le faire ?
    Eh bien pour formater une chaine à une date, je t'aurais orienté vers l'utilisation de
    SimpleDateFormat avec la fonction parse(). Mais en fait je ne comprends pas ce que ta chaine représente, un délai en ms ? Si oui, il va falloir faire un calcul au départ pour retrouver la date que ça engendre (en partant, par exemple, de Date.getTime() comme base de calcul).
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Merci pour votre réponse,
    C'est un attribut qui existe comme tel dans l'Active Directory.
    Apparament c'est la durée en 100-nanosecond depuis le 01/01/1601
    J'ai trouvé ce code :
    Long timeStamp = Long.parseLong(time);



    Calendar calendar = Calendar.getInstance();

    calendar.clear();

    calendar.set(1601,1,1,0,0);

    timeStamp = timeStamp / 10000 + calendar.getTime().getTime();
    ca me génère ceci :
    Sun Oct 15 03:48:05 CEST 30828
    mais je ne sais pas si c'est correcte
    Et je ne sais pas comment continuer

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    Bonjour,
    Je suis arrivé à trouver la solution
    Pour ceux que ça interessent
    public static String convert(String time){


    Long timeStamp = Long.parseLong(time);



    Calendar calendar = Calendar.getInstance();

    calendar.clear();

    calendar.set(1601,0,1,0,0);


    timeStamp = timeStamp / 10000 + calendar.getTime().getTime();

    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss'Z'"); // same as timestampOutputFormat
    Date result=new Date(timeStamp);

    return sdf.format(result);


    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String m= "129566232000000000";
    System.out.println(convert(m));

  5. #5
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par zakarota Voir le message
    Bonjour,
    Je suis arrivé à trouver la solution
    Pour ceux que ça interessent
    Tant mieux alors

    Car bon j'avoue que la solution ne me venait pas au premier coup d'oeil (et j'avais un peu la flemme de ces calculs de 1601 ).

    Tiens, tu pourras mettre le topic à aussi tant que j'y pense.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir Date dans un format particulier
    Par ThomasParis dans le forum Langage
    Réponses: 8
    Dernier message: 29/03/2010, 19h13
  2. Réponses: 2
    Dernier message: 09/06/2008, 08h55
  3. [VBS] recherche OU d'un utilisateur dans Active directory
    Par Amandine62 dans le forum VBScript
    Réponses: 7
    Dernier message: 16/02/2006, 08h42
  4. Problème droit dans active directory et sur pc local
    Par krfa1 dans le forum Windows XP
    Réponses: 2
    Dernier message: 17/01/2006, 14h49
  5. [VB.NET] Recherche Info dans Active Directory
    Par Vlat dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/12/2005, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo