前端中关于日期和时间的一些小方法

前段时间在做一个项目时总是需要获取各种时间或日期,于是在此记录一下这些用到的方法,方便以后需要时进行查阅。


1.获取某月的天数

//输入参数:年、月
function getMonthDays(nowYear,myMonth){
    var monthStartDate = new Date(nowYear,myMonth,1);
    var monthEndDate = new Date(nowYear,myMonth+1,1);
    var days = (monthEndDate-monthStartDate)/(1000*60*60*24);
    return days;
}

2.根据日期获取当月的开始日期

//输入参数:日期
function getMonthStartDate(dd){
    var nowYear = dd.getFullYear();
    nowYear += (nowYear < 2000)?1900:0;
    var nowMonth = dd.getMonth();
     
    var monthStartDate = new Date(nowYear,nowMonth,1);
    return monthStartDate;
}

3.根据日期获取当月的结束日期

//输入参数:日期
function getMonthEndDate(date){
    var nowYear = date.getFullYear();
    nowYear += (nowYear < 2000)?1900:0;
    var nowMonth = date.getMonth();
     
    var monthEndDate = new Date(nowYear,nowMonth,getMonthDays(nowYear,nowMonth));
    return monthEndDate;
}

4.根据日期获取一周的日期范围(周一至周日)

//输入参数:日期
//输出示例:'2019-03-04 2019-03-10'
function GetWeek(dd){
    var week = dd.getDay();
    var minus = week ? week-1:6;
    dd.setDate(dd.getDate()-minus);
    var yf = dd.getFullYear();
    var mf = dd.getMonth() + 1;
    var df = dd.getDate();
    dd.setDate(dd.getDate()+6);
    var yl = dd.getFullYear();
    var ml = dd.getMonth() + 1;
    var dl = dd.getDate();
    return yf + "-" + (mf>=10?mf:"0"+mf) + "-" + (df>=10?df:"0"+df) + " " + yl + "-" + (ml>=10?ml:"0"+ml) + "-" + (dl>=10?dl:"0"+dl);
}

5.日期转字符串

//输入参数:日期
function dateToStr(date){
    var yy = date.getFullYear();
    var mm = date.getMonth()+1;
    var dd = date.getDate();
    return yy + "-" + (mm>=10?mm:"0"+mm) + "-" + (dd>=10?dd:"0"+dd);
}

6.字符串转日期

//输入参数:字符串(格式为'2019-03-04')
function strToDate(date){
    date = date.replace(/-/g,'-');
    return new Date(date);
}

7.时间戳转字符串

//输入参数:时间戳
function timestampToNewTime(timestamp){
    var date = new Date(timestamp);
    var Y = date.getFullYear();
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1);
    var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate());
    var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours());
    var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes());
    var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
    return Y+'-'+M+'-'+D+' '+h+':'+m+':'+s;
}

如后续有其他关于时间或日期的方法也会不定时向内添加。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值