2013-02-28 62 views

回答

4

模塊UUID::Tiny有一個名爲time_of_UUID()方法,可以幫助:

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); 


RFC4122的時間戳部分還可以補充Wikipedia文章關於UUID。

1

UUID通常不會表示日期。

http://en.wikipedia.org/wiki/Universally_unique_identifier

是你的肯定,有一個日期在那裏?

您需要提供更多的上下文。

+0

我認爲這是可能轉換的UUID時間戳,但我不知道該怎麼做。請參閱下面的URL http://www.computerhope.com/jargon/u/uuid.htm – BALASCJP 2013-02-28 04:52:31

+1

根據維基百科文章,有許多不同的UUID變體,並且大部分不基於時間戳。這些不能以任何有意義的方式轉換爲時間戳。你看過你正在使用哪個特定的UUID類型嗎? – andytech 2013-02-28 07:25:36

1

也許這的JavaScript API可以幫助你的UUID到日期格式轉換,

這個API轉換UUID V1到秒從1970-01-01

UUID_to_Date



大家都需要:

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); 
    }; 


例子:

var date_obj = get_date_obj( '8bf1aeb8-6b5b-11e4-95c0-001dba68c1f2'); 
    date_obj.toLocaleString();// '11/13/2014, 9:06:06 PM' 
+0

JavaScript是簡單的語言,這個簡單的代碼可以幫助編寫每種語言的API。 – Sam 2014-11-24 08:34:23

+0

感謝您編輯您的答案 – Leeor 2014-11-24 09:26:34

相關問題