首頁 > web前端 > js教程 > js取得當前時區夏令時發生和終止的時間代碼_javascript技巧

js取得當前時區夏令時發生和終止的時間代碼_javascript技巧

WBOY
發布: 2016-05-16 16:58:28
原創
1038 人瀏覽過
複製代碼代碼如下:




夏令時計算器


函數DisplayDstSwitchDates()
{
varyear = new Date ().getYear();
如果(年份年份= 1900;

varfirstSwitch = 0;
var SecondSwitch = 0;
var 最後偏移;

// 循環遍歷當年的每個月
for (i = 0; i {
// 取得該月的時區值
var newDate = new Date(Date.UTC(年, i, 0, 0, 0, 0, 0));
var tz = -1 * newDate.getTimezoneOffset() / 60;

//當timzezone 改變時捕獲
if (tz > lastOffset)
firstSwitch = i-1;
else if (tz secondSwitch = i-1;
Offset = tz;
}

// 計算出在
// DST 調整發生前一分鐘發生的日期/時間
var secondaryDstDate = FindDstSwitchDate(year, secondarySwitch); varfirstDstDate = FindDstSwitchDate(year,firstSwitch);

if (firstDstDate == null && secondaryDstDate == null)
return '您所在時區未遵守夏令時間。 ';
else
return '在“
year”發生夏令時更改之前的最後一分鐘:“firstDstDate”和“secondDstDate”;
}

function FindDstSwitchDate( , Month)
{
// 設定開始日期
var baseDate = new Date(Date.UTC(year, Month, 0, 0) , 0, 0, 0));
var 更改日期= 0;
var 變化分鐘= -1;
var baseOffset = -1 * baseDate.getTimezoneOffset() / 60;
var dstDate;

// 搜尋循環時區調整發生時區調整發生的確切日期
for (day = 0; day {
var tmpDate = new Date(Date.UTC (年、月、日、0、0、0、0)) ;
var tmpOffset = -1 * tmpDate.getTimezoneOffset() / 60;

// 檢查時區是否從某一天改為下一天
if (tmpOffset != baseOffset>{🎜>{
var 分鐘= 0;
changeDay = 天;

// 備份一天並取得偏移量
tmpDate = new Date(Date.UTC(year,month,day-1, 0, 0, 0, 0));
tmpOffset = -1 * tmpDate.getTimezoneOffset() / 60;

// 計算時區變更發生前的分鐘
while (
// 計算時區變更發生前的分鐘
while (changeMinute == - 1)
{
tmpDate = new Date(Date.UTC(year,month,day-1) , 0, 分鐘, 0, 0));
tmpOffset = -1 * tmpDate.getTimezoneOffset() / 60;

// 確定時區變更的確切分鐘
// 發生
if (tmpOffset != baseOffset)
{
// 備份一分鐘以取得日期/
// 時區變更發生之前的時間
tmpOffset = new Date(Date.UTC(year, Month,
day-1, 0, 分鐘-1, 0, 0));
changeMinute =分鐘;
分鐘;
}
其他
分鐘;
}

// 增加月份(用於顯示),因為JavaScript 計數
// 從0到11 的月份
dstDate = tmpOffset.getMonth() 1;

// 根據需要填充月份
if (dstDate
// 新增日期和年份
dstDate = '/' tmpOffset.getDate() '/' 年' ';

// 捕捉時間戳
tmpDate = new Date(Date.UTC(年, 月,
day-1, 0, 分鐘-1, 0, 0));
dstDate = tmpDate.toTimeString().split(' ')[0];
返回dstDate;
}
}
}


頭>


document .write("目前日期/時間:" new Date() "
");
document.write(DisplayDstSwitchDates());
腳本>
身體>


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板