Difference between revisions of "LlGetTimestamp"
Jump to navigation
Jump to search
(added dynamic use of function) |
m (<lsl> tag to <source>) |
||
(13 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LSL Function | ||
|func_id=273|func_sleep=0.0|func_energy=10.0 | |func_id=273|func_sleep=0.0|func_energy=10.0 | ||
|func=llGetTimestamp|return_type=string | |func=llGetTimestamp|return_type=string | ||
Line 8: | Line 8: | ||
|caveats | |caveats | ||
|constants | |constants | ||
|examples=< | |examples=<source lang="lsl2">// Reset tracker | ||
// Reset tracker | |||
string BOOT_TIME; | string BOOT_TIME; | ||
Line 17: | Line 16: | ||
state_entry() | state_entry() | ||
{ | { | ||
BOOT_TIME = llGetTimestamp(); // script | BOOT_TIME = llGetTimestamp(); // state_entry is triggered on script reset. | ||
} | } | ||
touch_start(integer num) | touch_start(integer num) | ||
{ | { | ||
llSay(PUBLIC_CHANNEL, "The last | llSay(PUBLIC_CHANNEL, "The last script was last reset @ " + BOOT_TIME); | ||
llSay(PUBLIC_CHANNEL, "Right now it is " + | llSay(PUBLIC_CHANNEL, "Right now it is " + llGetTimestamp()); | ||
} | } | ||
} | }</source> | ||
</ | <source lang="lsl2">// Greeting | ||
|helpers | |||
|also_functions={{LSL DefineRow||[[llGetDate]]|Same format but without the time.}} | default | ||
{ | |||
state_entry() | |||
{ | |||
llSetTouchText("Greet"); | |||
} | |||
touch_start(integer num) | |||
{ | |||
list TimeStamp = llParseString2List(llGetTimestamp(),["-",":"],["T"]); //Get timestamp and split into parts in a list | |||
integer Hour = llList2Integer(TimeStamp,4); | |||
if(Hour<12) | |||
llSay(PUBLIC_CHANNEL,"Good Morning, Oliver Sintim-Aboagye!"); | |||
else if(Hour<17) | |||
llSay(PUBLIC_CHANNEL,"Good Afternoon, " + llDetectedName(0)); | |||
else | |||
llSay(PUBLIC_CHANNEL,"Good Evening, " + llKey2Name(llDetectedKey(0))); | |||
} | |||
}</source> | |||
|helpers= | |||
=== Helper Functions === | |||
* [[Stamp2UnixInt]] - List format to Unix timestamp. ex: [2009, 2, 13, 3, 31, 30] to 1234567890 | |||
** compatible with '''''llParseString2List( llGetTimestamp(), ["-", "T", ":", "."], [] )''''' | |||
* [[Stamp2WeekdayStr]] - Weekday from (Y, M, D) ex: "Friday" from (2009, 2, 13) | |||
* [[Millisec]] - Converts a timestamp string to integer milliseconds accurate to within a month. | |||
* [[Unix2PST_PDT]] - Converts a Unix Time stamp to an SLT date/time string with PST or PDT indication as appropriate. | |||
* [[Unix2GMTorBST]] - Converts a Unix Time stamp to a UK date/time string with GMT or BST indication as appropriate. | |||
|also_functions= | |||
{{LSL DefineRow||[[llGetDate]]|Same format but without the time.}} | |||
{{LSL DefineRow||[[llGetUnixTime]]|Time in seconds since the epoch.}} | |||
{{LSL DefineRow||[[llGetTime]]|Elapsed script-time.}} | |||
|also_events | |also_events | ||
|also_tests | |also_tests | ||
|also_articles= | |also_articles= | ||
{{LSL DefineRow||[http://www.cl.cam.ac.uk/~mgk25/iso-time.html ISO 8601]|}} | {{LSL DefineRow||[http://www.cl.cam.ac.uk/~mgk25/iso-time.html ISO 8601]|}} | ||
{{LSL DefineRow||{{Wikipedia| | {{LSL DefineRow||{{Wikipedia|ISO 8601}}|}} | ||
{{LSL DefineRow||[[Code Racer]]|}} - useful benchmarks within 100 trials | {{LSL DefineRow||[[Code Racer]]|}} - useful benchmarks within 100 trials | ||
{{LSL DefineRow||[[Efficiency Tester]]|}} - more accurate benchmarks within 10,000 trials | {{LSL DefineRow||[[Efficiency Tester]]|}} - more accurate benchmarks within 10,000 trials |
Revision as of 03:04, 22 January 2015
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: string llGetTimestamp( );273 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a string that is the current date and time in the UTC time zone in the format "YYYY-MM-DDThh:mm:ss.ff..fZ"
Appears to be accurate to milliseconds.
Caveats
Examples
// Reset tracker
string BOOT_TIME;
default
{
state_entry()
{
BOOT_TIME = llGetTimestamp(); // state_entry is triggered on script reset.
}
touch_start(integer num)
{
llSay(PUBLIC_CHANNEL, "The last script was last reset @ " + BOOT_TIME);
llSay(PUBLIC_CHANNEL, "Right now it is " + llGetTimestamp());
}
}
// Greeting
default
{
state_entry()
{
llSetTouchText("Greet");
}
touch_start(integer num)
{
list TimeStamp = llParseString2List(llGetTimestamp(),["-",":"],["T"]); //Get timestamp and split into parts in a list
integer Hour = llList2Integer(TimeStamp,4);
if(Hour<12)
llSay(PUBLIC_CHANNEL,"Good Morning, Oliver Sintim-Aboagye!");
else if(Hour<17)
llSay(PUBLIC_CHANNEL,"Good Afternoon, " + llDetectedName(0));
else
llSay(PUBLIC_CHANNEL,"Good Evening, " + llKey2Name(llDetectedKey(0)));
}
}
Useful Snippets
Helper Functions
- Stamp2UnixInt - List format to Unix timestamp. ex: [2009, 2, 13, 3, 31, 30] to 1234567890
- compatible with llParseString2List( llGetTimestamp(), ["-", "T", ":", "."], [] )
- Stamp2WeekdayStr - Weekday from (Y, M, D) ex: "Friday" from (2009, 2, 13)
- Millisec - Converts a timestamp string to integer milliseconds accurate to within a month.
- Unix2PST_PDT - Converts a Unix Time stamp to an SLT date/time string with PST or PDT indication as appropriate.
- Unix2GMTorBST - Converts a Unix Time stamp to a UK date/time string with GMT or BST indication as appropriate.
See Also
Functions
• | llGetDate | – | Same format but without the time. | |
• | llGetUnixTime | – | Time in seconds since the epoch. | |
• | llGetTime | – | Elapsed script-time. |
Articles
• | ISO 8601 | |||
• | ISO 8601 | |||
• | Code Racer | - useful benchmarks within 100 trials | ||
• | Efficiency Tester | - more accurate benchmarks within 10,000 trials | ||
• | LSL_Script_Efficiency | - in-depth discussion of the Efficiency Tester |