timeAgo
Revision as of 19:27, 23 May 2010 by Ugleh Ulrik (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: string TimeAgo( integer tm );Returns a string that will give you the difference in time.
• integer | tm | – | Unix Time used for difference |
See also: llGetUnixTime
Specification
<lsl> string TimeAgo(integer tm) {
integer dif = llGetUnixTime()-tm; list pds = ["second","minute","hour","day","week","month","year","decade"]; list lngh = [1,60,3600,86400,604800,2630880,31570560,315705600]; integer v;integer no; for(v = llGetListLength(lngh)-1; (v >= 0)&&(no = dif/llList2Integer(lngh,v)<=1); v--);
string dd = llList2String(pds,v); integer ntime = dif / llList2Integer(lngh,llListFindList(pds, [dd])); if(no != 1)dd +="s"; dd = (string)ntime + " "+ dd;
return dd;
} </lsl>
Examples
<lsl> default {
touch_start(integer total_number) { integer time = llGetUnixTime() - 180; llSay(0, timeago(time) + " ago"); }
}
//integer time is the current unix time minus 180 seconds (3 minutes)