Js 日期操作

2、获取日期

var datetime = new Date();
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
var date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();

1、JS日期相减得到天数

废话不多说直奔主题,解决思路核心是时间戳相减

 灵感来自于我经常用到一个工具方法:格式化时间,也是用时间戳

function GetNumberOfDays(date1,date2){//获得天数
    //date1:开始日期,date2结束日期
    var a1 = Date.parse(new Date(date1));
    var a2 = Date.parse(new Date(date2));
    var day = parseInt((a2-a1)/ (1000 * 60 * 60 * 24));//核心:时间戳相减,然后除以天数
    return day
};

var a1="12-19-2018";
var a2="2019/1/7";
var b=GetNumberOfDays(a1,a2)
console.log(b);

格式化时间是以前百度回来的,现在顺便拿出来给大家看看借花献佛:

/*
    该方法有效防止后台传数据格式发生变化例如:10-19-2017《==》2017/10/19
    思路:后台的时间日期==》时间戳==》标准的时间日期
    y=年,m=月,d=天,h=时,u=分,s=秒
*/
//标准日期时间
function DateFormat(dateTime){//格式化时间
    var dateParse = Date.parse(new Date(dateTime));//转成时间戳
    var time = new Date(dateParse);//再转成标准时间
    var y = String(time.getFullYear());
    var m = String(time.getMonth()+1);
    var d = String(time.getDate());
    var h = String(time.getHours());
    var u = String(time.getMinutes());
    var s = String(time.getSeconds());
    return {y,m,d,h,u,s}
    //return m+"/"+d//直接输入自己想要的格式
}
var a="2017/12/31  23:12:54";
console.log(DateFormat(a));

根据当天获取某一天(分享点自己收藏的干货):

function GetDay(day){
    function doHandleMonth(month){
      var m = month;
      if(month.toString().length == 1){
        m = "0" + month;
      }
      return m;
    };
    var today = new Date();
    var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
    today.setTime(targetday_milliseconds); //注意,这行是关键代码
    var tYear = today.getFullYear();
    var tMonth = today.getMonth();
    var tDate = today.getDate();
    tMonth = doHandleMonth(tMonth + 1);
    tDate = doHandleMonth(tDate);
    return tYear+"-"+tMonth+"-"+tDate;
};
console.log(getDay(0))//当天
console.log(getDay(-7))//7天前
console.log(getDay(7))//7天后

from:   JS日期相减得到天数 - 前端-大雄 - 博客园

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值