复制代码代码如下:
<!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>