maybe this code makes it clear:
`// Register with the server
imp.configure(“Timestamp”, [], []);
local timezone =-5; //GMT-5
//dls <- date(time());
daylightsavings <- false;
daylightsavings_start_date <- [20130331 , 20140330 , 20150329, 20160327, 20170326];
daylightsavings_start_time <- 200;
daylightsavings_stop_date <- [20131027 ,20141026 ,20151025 ,20161030 ,20171029];
daylightsavings_stop_time <- 300;
function DaylightSavings(){
local d = date(time() + (timezone6060)); // get the date in your timezone
local datestring = format("%04d%02d%02d-%02d:%02d:%02d", d.year, d.month+1, d.day, d.hour, d.min, d.sec); //e.g. 20130511-00:57:25
daylightsavings_date <- format("%04d%02d%02d", d.year, d.month+1, d.day).tointeger();
daylightsavings_time <- format("%02d%02d", d.hour, d.min).tointeger();
local ds_start = daylightsavings_start_date[(d.year-2013)];
local ds_stop = daylightsavings_stop_date[(d.year-2013)];
if(daylightsavings_date > ds_start) {
if(daylightsavings_date < ds_stop) {
daylightsavings = true;
}
}
if(daylightsavings_date == ds_start){
daylightsavings = true;
if(daylightsavings_time < daylightsavings_start_time){
daylightsavings = false;
}
}
if(daylightsavings_date == ds_stop){
daylightsavings = true;
if(daylightsavings_time > daylightsavings_stop_time){
daylightsavings = false;
}
}
if (daylightsavings){
local d = date(time() + ((timezone + 1)6060)); // get the date in your timezone
datestring = format("%04d%02d%02d-%02d:%02d:%02d", d.year, d.month+1, d.day, d.hour, d.min, d.sec); //e.g. 20130511-00:57:25
}
server.log(datestring);
server.log(daylightsavings_date);
server.log(daylightsavings_time);
server.log("ds_start is " + ds_start);
server.log("ds_stop is " + ds_stop);
server.log("timezone is " + timezone);
server.log("daylightsavings is " + daylightsavings);
return datestring;
}
server.log("Timestamp = " + DaylightSavings());
// End of code.
`