Come convertire il UUID
in formato data 2011-04-22
?Come estrarre una data da un UUID utilizzando Java?
Ad esempio, ho UUID come questo
118ffe80-466b-11e1-b5a5-5732cf729524.
Come convertire questo formato della data?
ho cercato
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();
}
output che ho ottenuto: 4294744/11/02
Stesso caso funziona bene per il 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";
controllare gentilmente con questo URL http://stackoverflow.com/questions/15127648/how-do-we-convert-uuid-to-date-in-perl – BALASCJP
Sapete se quell'UUID di origine è un UUID v1? – Joe
'timeStamp()' restituisce un timestamp misurato in unità di 100 nanosecondi da mezzanotte, 15 ottobre 1582 UTC; 'Data (data lunga)' si aspetta millisecondi dal 1 gennaio 1970, 00:00:00 GMT. Quindi devi convertire da un formato all'altro – tmuguet