Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do we convert UUID to date in perl

I am very new to Perl language. How to convert the UUID to date format 2011-04-22 ?

For example, I have UUID like this

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

How to convert this to date format?

like image 532
BALASCJP Avatar asked Oct 28 '25 11:10

BALASCJP


2 Answers

The module UUID::Tiny has a method called time_of_UUID() that might help:

time_of_UUID()

This function accepts UUIDs and UUID strings. 
Returns the time as a   floating point value, so use int() 
to get a time() compatible value.

Returns undef if the UUID is not version 1.

my $uuid_time = time_of_UUID($uuid);

The Timestamp section of RFC4122 can also complement the Wikipedia article about UUID.

like image 144
David L. Avatar answered Oct 31 '25 07:10

David L.


maybe this javascript API can help you to convert the UUID to date format,

this API convert UUID v1 to sec from 1970-01-01

UUID_to_Date



all of you need:

    get_time_int = function (uuid_str) {
        var uuid_arr = uuid_str.split( '-' ),
            time_str = [
                uuid_arr[ 2 ].substring( 1 ),
                uuid_arr[ 1 ],
                uuid_arr[ 0 ]
            ].join( '' );
        return parseInt( time_str, 16 );
    };

    get_date_obj = function (uuid_str) {
        var int_time = this.get_time_int( uuid_str ) - 122192928000000000,
            int_millisec = Math.floor( int_time / 10000 );
        return new Date( int_millisec );
    };


Example:

    var date_obj = get_date_obj(  '8bf1aeb8-6b5b-11e4-95c0-001dba68c1f2' );
    date_obj.toLocaleString( );// '11/13/2014, 9:06:06 PM'
like image 24
Sam Avatar answered Oct 31 '25 07:10

Sam



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!