【js】常用的日期操作

目錄

1、基本日期操作

2、根據出生日期獲取週歲

3、距離活動截止還差幾小時幾分幾秒(倒計時)


1、基本日期操作

var myDate = new Date();

myDate.getYear(); //獲取當前年份(從1900年開始算起)
myDate.getFullYear(); //獲取完整的年份(4位,1970)
myDate.getMonth(); //獲取當前月份(0-11,0代表1月)
myDate.getDate(); //獲取當前日(1-31)
myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)
myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)
myDate.getHours(); //獲取當前小時數(0-23)
myDate.getMinutes(); //獲取當前分鐘數(0-59)
myDate.getSeconds(); //獲取當前秒數(0-59)
myDate.getMilliseconds(); //獲取當前毫秒數(0-999)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間

 

2、根據出生日期獲取週歲

//2010-01-01
function getAge(strBirthday)
        {
            var returnAge;
            var strBirthdayArr=new Date(strBirthday);
            var birthYear = strBirthdayArr.getFullYear();

            var birthMonth = strBirthdayArr.getMonth() + 1;
            var birthDay = strBirthdayArr.getDate();

            var d = new Date();
            var nowYear = d.getFullYear();
            var nowMonth = d.getMonth() + 1;
            var nowDay = d.getDate();

            if(nowYear == birthYear)
            {
                returnAge = 0;//同年 則爲0歲
            }
            else
            {
                var ageDiff = nowYear - birthYear ; //年之差
                if(ageDiff > 0)
                {
                    if(nowMonth == birthMonth)
                    {
                        var dayDiff = nowDay - birthDay;//日之差
                        if(dayDiff < 0)
                        {
                            returnAge = ageDiff - 1;
                        }
                        else
                        {
                            returnAge = ageDiff ;
                        }
                    }
                    else
                    {
                        var monthDiff = nowMonth - birthMonth;//月之差
                        if(monthDiff < 0)
                        {
                            returnAge = ageDiff - 1;
                        }
                        else
                        {
                            returnAge = ageDiff ;
                        }
                    }
                }
                else
                {
                    returnAge = -1;//返回-1 表示出生日期輸入錯誤 晚於今天
                }
            }

            return returnAge;//返回週歲年齡

        }

 

3、距離活動截止還差幾小時幾分幾秒(倒計時)

//2029-03-03
var endTime = function (startTime) {

    setInterval(
        function(){

            var str = '';
            var date1 = new Date(startTime);  //開始時間
            var date2 = new Date();     //結束時間

            var date3 = date1.getTime() - date2.getTime();   //時間差的毫秒數
            if (date3>0){
                // //計算相差的年數
                // var years = Math.floor(date3 / (12 * 30 * 24 * 3600 * 1000));
                // //計算相差的月數
                var leave = date3 % (12 * 30 * 24 * 3600 * 1000);
                // var months = Math.floor(leave / (30 * 24 * 3600 * 1000));
                // //計算出相差天數
                var leave0 = leave % (30 * 24 * 3600 * 1000);
                var days = Math.floor(date3 / (24 * 3600 * 1000));
                //計算出小時數
                var leave1 = leave0 % (24 * 3600 * 1000);     //計算天數後剩餘的毫秒數
                var hours = Math.floor(leave1 / (3600 * 1000));
                //計算相差分鐘數
                var leave2 = leave1 % (3600 * 1000);         //計算小時數後剩餘的毫秒數
                var minutes = Math.floor(leave2 / (60 * 1000));
                //計算相差秒數
                var leave3 = leave2 % (60 * 1000);       //計算分鐘數後剩餘的毫秒數
                var seconds = Math.round(leave3 / 1000);
                if (days > 0){
                    str += '<span>'+ days +'</span>天';
                }
                if (hours > 0){
                    str += '<span>'+ hours +'</span>小時';
                }
                str += '<span>'+ minutes +'</span>分鐘<span>'+ seconds +'</span>秒';
            }else {
                str = '已過期'
            }

            console.log(str)
        },1000
    );


};




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章