Comment puis-je extraire une date à partir d'un UUID à l'aide de Java?

Comment convertir le UUID de format de date 2011-04-22 ?

Par exemple, j'ai UUID comme ce

118ffe80-466b-11e1-b5a5-5732cf729524.

Comment faire pour convertir ce format de date?

J'ai essayé

 String uuid="118ffe80-466b-11e1-b5a5-5732cf729524"; 
    UUID uid = UUID.fromString(uuid);
    long ls=convertTime(uid.timeStamp()); //it returns long value

    public String convertTime(long time){
            System.out.println("====="+time);
            Date date = new Date(time);
            Format format = new SimpleDateFormat("yyyy/MM/dd");
            return format.format(date).toString();
        }

sortie j'ai eu:4294744/11/02

Même cas de travail d'amende pour perl

$uuid='ef802820-46b3-11e2-bf3a-47ef6b3e28e2';
$uuid =~ s/-//g;

my $timelow = hex substr( $uuid, 2 * 0,     2 * 4 );
my $timemid = hex substr( $uuid, 2 * 4,     2 * 2 );
my $version = hex substr( $uuid, 2 * 6,     1 );
my $timehi  = hex substr( $uuid, 2 * 6 + 1, 2 * 2 - 1 );

my $time = ( $timehi * ( 2**16 ) + $timemid ) * ( 2**32 ) + $timelow;
my $epoc = int( $time / 10000000 ) - 12219292800;
my $nano = $time - int( $time / 10000000 ) * 10000000;

#$time_date = scalar localtime $epoc;
#print strftime( '%d-%m-%Y %H:%M:%S', localtime($epoc) );
#print "\n Time: ", scalar localtime $epoc, " +", $nano / 10000, "ms\n";
veuillez vérifier avec l'url stackoverflow.com/questions/15127648/...
Savez-vous si cette source UUID est un v1 UUID?
timeStamp() retourne un timestamp mesurée à 100 nanosecondes unités depuis minuit, le 15 octobre 1582 UTC ; Date(long date) attend de millisecondes depuis le 1er janvier 1970, 00:00:00 GMT. Donc, vous devez convertir d'un format à l'autre
selon la version de l'UUID de l'algorithme, il peut contenir un timestamp.
Il se pourrait bien contient, mais ce n'est pas la même chose que la conversion de la valeur. Si la question avait été "Comment extraire la partie horodatage d'un UUID" qui serait une autre affaire.

OriginalL'auteur BALASCJP | 2013-03-02