1. 程式人生 > >javascript來判斷某個時間是不是處於夏令時

javascript來判斷某個時間是不是處於夏令時

/*!
 *方法: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;
}