Javascript日期操作

知识在于累积,感觉自己遗忘的速度有点快呀,连最基本的日期对象都记得不是特别牢固,今天阅读项目中的一段JSON字段,如下:
“from”: -4045717554,
“to”: -1219713505
看到这两个日期,我一脸茫然,负的毫秒数。找到使用处的代码。看到一个有意思的函数:
 function cvtTime(tick){
    var curDateTick = new Date().getTime();
    tick = 0 - 100 * ((0 - tick) % 100000000);
    return new Date(curDateTick + tick);
 }
咋看之初,还是无法明白这是有什么用途,执行发现原来是给出相对当前时间的偏移量,计算出某个时间。

顺带回顾了一下日期对象:
var d = new Date();
d.getFullYear(); //年
d.getMonth()+1; //月
d.getDate(); //日
d.getHours(); //时
d.getMinutes(); //分
d.getSeconds(); //秒
d.getDay(); //星期
d.getTime(); //返回1970年1月1日至今的毫秒数
相应的有set方法。
常用的日期处理方法:

    /* 说明:时间格式处理(年/月/日 时:分:秒)
     *  返回值类型:对象
     */
     function formatDate(DateIn) {
        var Year = 0;
        var Month = 0;
        var Day = 0;
        var Hour = 0;
        var Minute = 0;
        var Second = 0;
        var CurrentDate = "";
        var CurrentHms = "";//当前时分秒

        //初始化时间
        Year = DateIn.getYear() + 1900;
        Month = DateIn.getMonth() + 1;
        Day = DateIn.getDate();
        Hour = DateIn.getHours();
        Minute = DateIn.getMinutes();
        Second = DateIn.getSeconds();

        CurrentDate = Year + "/";
        if (Month >= 10) {
            CurrentDate = CurrentDate + Month + "/";
        }
        else {
            CurrentDate = CurrentDate + "0" + Month + "/";
        }
        if (Day >= 10) {
            CurrentDate = CurrentDate + Day;
        }
        else {
            CurrentDate = CurrentDate + "0" + Day;
        }

        if (Hour >= 10) {
            CurrentDate = CurrentDate + " " + Hour;
            CurrentHms = CurrentHms + Hour;
        }
        else {
            CurrentDate = CurrentDate + " 0" + Hour;
            CurrentHms = CurrentHms + " 0" + Hour;
        }

        if (Minute >= 10) {
            CurrentDate = CurrentDate + ":" + Minute;
            CurrentHms = CurrentHms + ":" + Minute;
        }
        else {
            CurrentDate = CurrentDate + ":0" + Minute;
            CurrentHms = CurrentHms + ":0" + Minute;
        }

        if (Second >= 10) {
            CurrentDate = CurrentDate + ":" + Second;
            CurrentHms = CurrentHms + ":" + Second;
        } else {
            CurrentDate = CurrentDate + ":0" + Second;
            CurrentHms = CurrentHms + ":0" + Second;
        }
        return {
            CurrentDate: CurrentDate,// 年/月/日 时:分:秒
            CurrentHms: CurrentHms // 时:分:秒
        };
    }


//将日期对象转换为字符串,格式为2016/05/05 12:05:24
    function changeDateToString(DateIn) {
        var Year = 0;
        var Month = 0;
        var Day = 0;
        var Hour = 0;
        var Minute = 0;
        var Second = 0;
        var CurrentDate = "";

        //初始化时间
        Year = DateIn.getYear() + 1900;
        Month = DateIn.getMonth() + 1;
        Day = DateIn.getDate();
        Hour = DateIn.getHours();
        Minute = DateIn.getMinutes();
        Second = DateIn.getSeconds();

        CurrentDate = Year + "-";
        if (Month >= 10) {
            CurrentDate = CurrentDate + Month + "-";
        }
        else {
            CurrentDate = CurrentDate + "0" + Month + "-";
        }
        if (Day >= 10) {
            CurrentDate = CurrentDate + Day;
        }
        else {
            CurrentDate = CurrentDate + "0" + Day;
        }

        if (Hour >= 10) {
            CurrentDate = CurrentDate + " " + Hour;
        }
        else {
            CurrentDate = CurrentDate + " 0" + Hour;
        }

        if (Minute >= 10) {
            CurrentDate = CurrentDate + ":" + Minute;
        }
        else {
            CurrentDate = CurrentDate + ":0" + Minute;
        }

        if (Second >= 10) {
            CurrentDate = CurrentDate + ":" + Second;
        } else {
            CurrentDate = CurrentDate + ":0" + Second;
        }
        return CurrentDate;
    },

    //将日期对象转换为字符串,格式为2016-05-05(无时分秒)
   function changeDayToString (DateIn, showHour) {
        var Year = 0;
        var Month = 0;
        var Day = 0;
        var Hour = 0;
        var Minute = 0;
        var Second = 0;
        var CurrentDate = "";

        //初始化时间
        Year = DateIn.getYear() + 1900;
        Month = DateIn.getMonth() + 1;
        Day = DateIn.getDate();
        Hour = DateIn.getHours();
        Minute = DateIn.getMinutes();
        Second = DateIn.getSeconds();

        CurrentDate = Year + "-";
        if (Month >= 10) {
            CurrentDate = CurrentDate + Month + "-";
        }
        else {
            CurrentDate = CurrentDate + "0" + Month + "-";
        }
        if (Day >= 10) {
            CurrentDate = CurrentDate + Day;
        }
        else {
            CurrentDate = CurrentDate + "0" + Day;
        }

        if (!!showHour) {
            if (Hour >= 10) {
                CurrentDate = CurrentDate + " " + Hour;
            }
            else {
                CurrentDate = CurrentDate + " 0" + Hour;
            }

            if (Minute >= 10) {
                CurrentDate = CurrentDate + ":" + Minute;
            }
            else {
                CurrentDate = CurrentDate + ":0" + Minute;
            }

            if (Second >= 10) {
                CurrentDate = CurrentDate + ":" + Second;
            }
            else {
                CurrentDate = CurrentDate + ":0" + Second;
            }
        }

        return CurrentDate;
    }