複製代碼代碼如下:
<!doctype html>
<html>
<頭>
<title> DST計算器</title>
<腳本類型=“ text/javascript”>
函數displaydstswitchdates()
{
var Year = new Date()。getYear();
如果(年<1000)
年 += 1900;
var firstSwitch = 0;
var secondwitch = 0;
var lastOffset = 99;
//循環遍曆本年度的每個月
for(i = 0; i <12; i ++)
{
//獲取當月的時區值
var newdate = new Date(date.utc(年,i,0,0,0,0,0,0,0));
var tz = -1 * newdate.getTimeZoneOffset() / 60;
//捕獲時蒂姆茲區發生變化時
如果(TZ> lastOffset)
FirstSwitch = i-1;
否則(tz <lastOffset)
第二開關= i-1;
lastOffset = tz;
}
//一分鐘前弄清楚日期/時間出現
//進行DST調整
var seconddstdate = finddstswitchdate(年,第二開關);
var firstdstdate = finddstswitchdate(年,firstSwitch);
if(firstDstdate == null && seconddstdate == null)
在您的時區中未觀察到“返回日光節省”。';
別的
在DST更改之前的最後一分鐘返回' +
年 +':' + firstDstdate +'和' + seconddstdate;
}
功能FINDDSTWITCHDATE(年,月)
{
//設置起始日期
var dasate = new Date(date.utc(年,月份,0,0,0,0,0,0,0));
VAR更改= 0;
var changeminute = -1;
var baseoffset = -1 * asedate.getTimeZoneOffset() / 60;
var dstdate;
//循環找到時區調整的確切日期
(天= 0; day <50; day ++)
{
var tmpdate = new Date(date.utc(年,月份,0,0,0,0,0,0,0));
var tmpoffset = -1 * tmpdate.getTimeZoneOffset() / 60;
//檢查時區是否從一天變為下一天
if(tmpoffset!= baseOffset)
{
var分鐘= 0;
更改=天;
//有一天備份並抓住偏移量
tmpdate = new Date(date.utc(年,月,第1天,0,0,0,0,0,0));
tmpoffset = -1 * tmpdate.getTimeZoneOffset() / 60;
//計算分鐘直到時區發生的時間
while(changeminute == -1)
{
tmpdate = new Date(date.utc(年,月,第1天,0,分鐘,0,0,0));
tmpoffset = -1 * tmpdate.getTimeZoneOffset() / 60;
//確定時區更改的確切分鐘
//發生
if(tmpoffset!= baseOffset)
{
//備份一分鐘以獲取日期/時間
//在時區更改發生之前
tmpoffset = new Date(Date.utc)(年,月份,
第1天,0,分鐘1、0、0));
變化=分鐘;
休息;
}
別的
分鐘++;
}
//添加一個月(用於顯示),因為JavaScript計數
//從0到11的月份
dstdate = tmpoffset.getMonth() + 1;
//根據需要
if(dstdate <10)dstdate =“ 0” + dstdate;
//添加日期
dstdate + ='/' + tmpoffset.getDate() +'/' + egr +''';
//捕獲時間戳記
tmpdate = new Date(Date.utc(年,月份,
第1天,0,分鐘1、0、0));
dstdate += tmpdate.totimestring()。split('')[0];
返回dstdate;
}
}
}
</script>
</head>
<身體>
<腳本類型=“ text/javascript”>
document.write(“當前日期 /時間:” + new Date() +“ <br />”);
document.write(displaydstswitchdates());
</script>
</body>
</html>