javascript來判斷某個時間是不是處於夏令時
阿新 • • 發佈:2019-01-24
/*!
*方法:isEastEarthTime
*判斷一個時間是在東半球還是西半球
*@param
*@author Aaron
*/
function isEastEarthTime()
{
var now = new Date();
var timeZone = now.getTimezoneOffset();
if(timeZone < 0)
{
return true;
}
else
{
return false;
}
}
/*!
*方法:isDayLightTime
*判斷一個時間是否在夏令時
*@param
*@author Aaron
*/
function isDayLightTime()
{
var now = new Date();
var start = new Date();
//得到一年的開始時間
start.setMonth(0);
start.setDate(1);
start.setHours(0);
start.setMinutes(0);
start.setSeconds(0);
var middle = new Date(start.getTime());
middle.setMonth(6);
// 如果年始和年中時差相同,則認為此國家沒有夏令時
if ((middle.getTimezoneOffset() - start.getTimezoneOffset()) == 0)
{
return false;
}
var margin = 0;
//判斷當前使用者在東半球還是西半球
if(isEastEarthTime())
{
margin = start.getTimezoneOffset();
}
else
{
margin = middle.getTimezoneOffset();
}
if(now.getTimezoneOffset() == margin)
{
return true;
}
return false;
}
*方法:isEastEarthTime
*判斷一個時間是在東半球還是西半球
*@param
*@author Aaron
*/
function isEastEarthTime()
{
var now = new Date();
var timeZone = now.getTimezoneOffset();
if(timeZone < 0)
{
return true;
}
else
{
return false;
}
}
/*!
*方法:isDayLightTime
*判斷一個時間是否在夏令時
*@param
*@author Aaron
*/
function isDayLightTime()
{
var now = new Date();
var start = new Date();
//得到一年的開始時間
start.setMonth(0);
start.setDate(1);
start.setHours(0);
start.setMinutes(0);
start.setSeconds(0);
var middle = new Date(start.getTime());
middle.setMonth(6);
// 如果年始和年中時差相同,則認為此國家沒有夏令時
if ((middle.getTimezoneOffset() - start.getTimezoneOffset()) == 0)
{
return false;
}
var margin = 0;
//判斷當前使用者在東半球還是西半球
if(isEastEarthTime())
{
margin = start.getTimezoneOffset();
}
else
{
margin = middle.getTimezoneOffset();
}
if(now.getTimezoneOffset() == margin)
{
return true;
}
return false;
}