JS常用日期方法

最近因要用到Timespan 进行数据辅助验证,重新复习了下常用日期方法.用getTime()就可以得到1970 年 1 月 1 日以来的毫秒数,good.

其他

一、日期获取方法
获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):

方法 描述
getDate() 以数值返回天(1-31)
getDay() 以数值获取周名(0-6)
getFullYear() 获取四位的年(yyyy)
getHours() 获取小时(0-23)
getMilliseconds() 获取毫秒(0-999)
getMinutes() 获取分(0-59)
getMonth() 获取月(0-11)
getSeconds() 获取秒(0-59)
getTime() 获取时间(从 1970 年 1 月 1 日至今)
getTime() 方法
getTime() 方法返回自 1970 年 1 月 1 日以来的毫秒数:

实例
var d = new Date();
document.getElementById(“demo”).innerHTML = d.getTime();

Reference from :https://www.w3school.com.cn/js/js_date_methods.asp

二、日期設置方法
1. 日期加上天數

 function DateAdd(sdate, days) {
        if (typeof (sdate) == "string")
            sdate = sdate.replace(/\-/g, "/");//转化为 / 式
        var a = new Date(sdate);
        a = a.valueOf();
        a = a + days * 24 * 60 * 60 * 1000;
        a = new Date(a);
        return a;
        }
 function DateAdd_BySetDate(sdate, days) {
        //if (typeof (sdate) == "string")
        //    sdate = sdate.replace(/\-/g, "/");//转化为 / 式
        var date = new Date(sdate);           
        date.setDate(date.getDate() + days);
        return date;
    }
       
1. 增加日期對象屬性
 Date.prototype.addDays = function(days) {
  this.setDate(this.getDate() + days);
  return this;
}

2. 使用:
var today = new Date();

today.addDays(7) 

增加月數用setMonth,方法相似。

2. 格式化日期為 yyyy-MM-dd

//格式化日期:yyyy-MM-dd  
function formatDate(sdate) {
    if (typeof (sdate) == "string")
        sdate = sdate.replace(/\-/g, "/");//转化为 / 式
    var date = new Date(sdate);
    var myyear = date.getFullYear();
    var mymonth = date.getMonth() + 1;
    var myweekday = date.getDate();

    if (mymonth < 10) {
        mymonth = "0" + mymonth;
    }
    if (myweekday < 10) {
        myweekday = "0" + myweekday;
    }
    return (myyear + "-" + mymonth + "-" + myweekday);
}

/**

  • 日期增加n月

  • @param dateStr 当前日期

  • @param num 月

  • @param type 0:2022-05-30 1:2022-05-30 11:11:11

  • @returns {string}
    /
    function commonAddMouth(dateStr,num,type) {
    var monthnum = 0;
    if (typeof (num) == “string”){
    monthnum = parseInt(num);
    }else{
    monthnum = num;
    }
    var date= new Date(dateStr);
    //获取原日
    var day = date.getDate();
    //获取原月份
    var month=date.getMonth();
    //设置增加月份
    date.setMonth(date.getMonth() + (monthnum
    1), 1);
    //获取增加的后的月份
    var Jmonth = date.getMonth()+1;
    //获取增加的后的年份
    var Jyear=date.getFullYear();
    if(Jmonth == 4 || Jmonth == 6 || Jmonth == 9 || Jmonth == 11) {
    //小月
    if (day > 30) {
    day = 30;
    }
    }else if (Jmonth == 2) {
    //2月判断是否闰年
    if(((Jyear % 4) == 0) && ((Jyear % 100) != 0) || ((Jyear % 400) == 0)){
    if (day > 29) {
    day = 29;
    } else {
    day = 28;
    }
    }
    if (day > 28) {
    day = 28
    }

    }else{
    //大月
    if (day > 31) {
    day = 31;
    }
    }
    var tHours = date.getHours();
    var tMinutes = date.getMinutes();
    var tSeconds = date.getSeconds();
    Jmonth = doHandleMonth(Jmonth);
    day = doHandleMonth(day);
    if(type==“0”){
    return Jyear+“-”+Jmonth+“-”+day;
    }
    return Jyear+“-”+Jmonth+“-”+day+" “+tHours+”:“+tMinutes+”:"+tSeconds;
    }

/**

  • 日或月补0
  • @param month
  • @returns {string}
    */
    function doHandleMonth(month){
    var m = month;
    if(month.toString().length == 1){
    m = “0” + month;
    }
    return m;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值