Wie konvertiert man das UUID
in das Datumsformat 2011-04-22
?Wie extrahiere ich ein Datum aus einer UUID mit Java?
Zum Beispiel, ich habe UUID wie diese
118ffe80-466b-11e1-b5a5-5732cf729524.
Wie dieses Format auf dem Laufenden konvertieren?
Ich versuche
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();
}
Ausgang Ich habe: 4294744/11/02
Gleichen Fall funktioniert gut für 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";
bitte überprüfen Sie mit dieser URL http://stackoverflow.com/questions/15127648/how-do-we-convert-uuid-to-date-in-perl – BALASCJP
Wissen Sie, ob diese Quelle UUID eine V1 UUID ist? – Joe
'timeStamp()' gibt einen Zeitstempel zurück, der seit Mitternacht, 15. Oktober 1582 UTC in 100-Nanosekunden-Einheiten gemessen wurde; 'Date (long date)' erwartet Millisekunden seit dem 1. Januar 1970, 00:00:00 GMT. Sie müssen also von einem Format in das andere umwandeln – tmuguet