Hello! I've ran into an issue with the time part of a script I use on my visitor log.
Since the recent clock change reverting back to GMT from BST in the UK, I changed "integer Time_Offset = 1;" to "integer Time_Offset = 0;" to account for the change but now
it outputs the correct time but as "T13:04:51.599664Z" whereas previously it was just HH:MM:SS
Could anyone please help me rectify this or paste a corrected version, I'd be so grateful.
Below is the time part of the script. Thank you in advanced.
// from : http://wiki.secondlife.com/wiki/GetTimestampOffset
string sbGetTimestamp(integer intOffset) {
// Start with December for purposes of wrapping
list lstDays = [31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
string strTimestamp = llGetTimestamp();
list lstTime = llParseString2List(strTimestamp, ["-", ":", ".", "T"], []);
integer intYear = llList2Integer(lstTime, 0);
integer intMonth = llList2Integer(lstTime, 1);
integer intDay = llList2Integer(lstTime, 2);
integer intHour = llList2Integer(lstTime, 3);
string strYear;
string strMonth;
string strDay;
string strHour;
if (intOffset == 0) { return strTimestamp; }
if (intOffset < -24 || intOffset > 24) {
intOffset = ((integer)llGetWallclock() - (integer)llGetGMTclock()) / 3600;
}
intHour+= intOffset;
// Add a day to February in leap years
if (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0)) {
lstDays = llListReplaceList(lstDays, [29], 2, 2);
}
if (intOffset < 0) {
if (intHour < 0) {
intHour+= 24;
--intDay;
}
if (intDay < 1) {
intDay = llList2Integer(lstDays, --intMonth);
}
if (intMonth < 1) {
intMonth = 12;
--intYear;
}
}
if (intOffset > 0) {
if (intHour > 23) {
intHour-= 24;
++intDay;
}
if (intDay > llList2Integer(lstDays, intMonth)) {
intDay = 1;
++intMonth;
}
if (intMonth > 12) {
intMonth = 1;
++intYear;
}
}
strYear = (string)intYear;
strMonth = (string)intMonth;
strDay = (string)intDay;
strHour = (string)intHour;
if (llStringLength(strMonth) < 2) { strMonth = "0" + strMonth; }
if (llStringLength(strDay) < 2) { strDay = "0" + strDay; }
if (llStringLength(strHour) < 2) { strHour = "0" + strHour; }
return
strDay + "-" +
strMonth + "-" +
strYear + " " +
strHour + ":" +
llList2String(lstTime, 4) + ":" +
llList2String(lstTime, 5) ;//+ "." +
//llList2String(lstTime, 6) + "Z";
// Obviously this isn't really Z time anymore, but I left it there in case there
// are scripts expecting it.
}