Created
November 7, 2016 07:56
-
-
Save shadycuz/a724c3e4928eeff04cf0df7a655d2b41 to your computer and use it in GitHub Desktop.
Worldclock .js for SolarWinds in 12hr format
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script language="JavaScript"> | |
<!-- | |
function worldClock(zone, region){ | |
var dst = 0 | |
var time = new Date() | |
var gmtMS = time.getTime() + (time.getTimezoneOffset() * 60000) | |
var gmtTime = new Date(gmtMS) | |
var day = gmtTime.getDate() | |
var month = gmtTime.getMonth() | |
var year = gmtTime.getYear() | |
dd = " AM"; | |
if(year < 1000){ | |
year += 1900 | |
} | |
var monthArray = new Array("January", "February", "March", "April", "May", "June", "July", "August", | |
"September", "October", "November", "December") | |
var monthDays = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31") | |
if (year%4 == 0){ | |
monthDays = new Array("31", "29", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31") | |
} | |
if(year%100 == 0 && year%400 != 0){ | |
monthDays = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31") | |
} | |
var hr = gmtTime.getHours() + zone | |
var min = gmtTime.getMinutes() | |
var sec = gmtTime.getSeconds() | |
if (hr >= 24){ | |
hr = hr-24 | |
day -= -1 | |
} | |
if (hr < 0){ | |
hr -= -24 | |
day -= 1 | |
} | |
if (hr < 10){ | |
hr = " " + hr | |
} | |
if (min < 10){ | |
min = "0" + min | |
} | |
if (sec < 10){ | |
sec = "0" + sec | |
} | |
if (day <= 0){ | |
if (month == 0){ | |
month = 11 | |
year -= 1 | |
} | |
else{ | |
month = month -1 | |
} | |
day = monthDays[month] | |
} | |
if(day > monthDays[month]){ | |
day = 1 | |
if(month == 11){ | |
month = 0 | |
year -= -1 | |
} | |
else{ | |
month -= -1 | |
} | |
} | |
if (region == "NAmerica"){ | |
var startDST = new Date() | |
var endDST = new Date() | |
startDST.setMonth(3) | |
startDST.setHours(2) | |
startDST.setDate(1) | |
var dayDST = startDST.getDay() | |
if (dayDST != 0){ | |
startDST.setDate(8-dayDST) | |
} | |
else{ | |
startDST.setDate(1) | |
} | |
endDST.setMonth(9) | |
endDST.setHours(1) | |
endDST.setDate(31) | |
dayDST = endDST.getDay() | |
endDST.setDate(31-dayDST) | |
var currentTime = new Date() | |
currentTime.setMonth(month) | |
currentTime.setYear(year) | |
currentTime.setDate(day) | |
currentTime.setHours(hr) | |
if(currentTime >= startDST && currentTime < endDST){ | |
dst = 1 | |
} | |
} | |
if (region == "Europe"){ | |
var startDST = new Date() | |
var endDST = new Date() | |
startDST.setMonth(2) | |
startDST.setHours(1) | |
startDST.setDate(31) | |
var dayDST = startDST.getDay() | |
startDST.setDate(31-dayDST) | |
endDST.setMonth(9) | |
endDST.setHours(0) | |
endDST.setDate(31) | |
dayDST = endDST.getDay() | |
endDST.setDate(31-dayDST) | |
var currentTime = new Date() | |
currentTime.setMonth(month) | |
currentTime.setYear(year) | |
currentTime.setDate(day) | |
currentTime.setHours(hr) | |
if(currentTime >= startDST && currentTime < endDST){ | |
dst = 1 | |
} | |
} | |
if (dst == 1){ | |
hr -= -1 | |
if (hr >= 24){ | |
hr = hr-24 | |
day -= -1 | |
} | |
if (hr < 10){ | |
hr = " " + hr | |
} | |
if(day > monthDays[month]){ | |
day = 1 | |
if(month == 11){ | |
month = 0 | |
year -= -1 | |
} | |
else{ | |
month -= -1 | |
} | |
} | |
if (hr >= 12) { | |
hr = hr-12; | |
dd = " PM"; | |
} | |
if (hr == 0) { | |
hr = 12; | |
} | |
return monthArray[month] + " " + day + ", " + year + "<br>" + hr + ":" + min + ":" + sec + dd + " DST" | |
} | |
else{ | |
if (hr >= 12) { | |
hr = hr-12; | |
dd = " PM"; | |
} | |
if (hr == 0) { | |
hr = 12; | |
} | |
return monthArray[month] + " " + day + ", " + year + "<br>" + hr + ":" + min + ":" + sec + dd | |
} | |
} | |
function worldClockZone(){ | |
document.getElementById("UTC").innerHTML = worldClock(0, "Greenwich") | |
document.getElementById("Eastern").innerHTML = worldClock(-5, "NAmerica") | |
document.getElementById("Central").innerHTML = worldClock(-6, "NAmerica") | |
document.getElementById("Pacific").innerHTML = worldClock(-8, "NAmerica") | |
setTimeout("worldClockZone()", 1000) | |
} | |
window.onload=worldClockZone; | |
//--> | |
</script> | |
<style type="text/css"> | |
.hrow { | |
vertical-align: middle; | |
width: 100%; | |
} | |
.hrow td { | |
padding: 5px; | |
width: 140px; | |
background-color: #555555; | |
border: 2px solid #555555; | |
border-collapse: collapse; | |
font-family:arial; | |
color: #ccc; | |
text-align: center; | |
font-weight: normal; | |
} | |
.hrow td:hover { | |
background-color: #ff9626; | |
color: #222222; | |
border: 2px solid #ff8426; | |
} | |
.hrow td:hover h3 { | |
color: #000000; | |
} | |
h3 { | |
text-transform: uppercase; | |
display: inline; | |
color: #ccc; | |
font-family: arial; | |
} | |
</style> | |
<table> | |
<tr class="hrow"> | |
<td><h3>Pacific</h3></br><span id="Pacific"></span></td> | |
<td><h3>Central</h3></br><span id="Central"></span></td> | |
<td><h3>Eastern</h3></br><span id="Eastern"></span></td> | |
<td><h3>UTC</h3></br><span id="UTC"></span></td> | |
</tr> | |
</table> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Looks like the DST bit isn't working here. I can't figure out why, though... any help? Thanks in advance!