js获取日期:前天、昨天、今天、明天、后天、大后天的代码

转自:http://www.suchso.com/projecteactual/js-getdate-yesterday.html
js获取日期:前天、昨天、今天、明天、后天、大后天的代码: 

第一种方法:

更正错误:

js中的date.getyear()是有问题的。我日,导致我调试了好几次。
提示和注释:

注释:由 getYear() 返回的值不总是 4 位的数字!对于介于 1900 与 1999 之间的年份,

getYear() 方法仅返回两位数字。对于 1900 之前或 1999 之后的年份,则返回 4 位数字!

注释:该方法总是结合一个 Date 对象来使用。

重要事项:从 ECMAScript v3 开始,JavaScript 的实现就不再使用该方法,而使用 getFullYear() 方法取而代之!

正确代码如下:
Date.prototype.DateAdd = function (strInterval, Number) {
    var dtTmp = this;
    switch (strInterval) {
        case 's': return new Date(Date.parse(dtTmp) + (1000 * Number));
        case 'n': return new Date(Date.parse(dtTmp) + (60000 * Number));
        case 'h': return new Date(Date.parse(dtTmp) + (3600000 * Number));
        case 'd': return new Date(Date.parse(dtTmp) + (86400000 * Number));
        case 'w': return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
        case 'q': return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number * 3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
        case 'm': return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
        case 'y': return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
    }
}
function GetDateStr(AddDayCount) {
    var dd = new Date();
    debugger
    ddd = dd.DateAdd('d', AddDayCount);//三天后 
    var y = ddd.getFullYear();
    var m = ddd.getMonth() + 1;//获取当前月 
    var d = ddd.getDate();
    return y + "-" + m + "-" + d;
}

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>js获取日期:前天、昨天、今天、明天、后天 - Liehuo.Net</title> 
</head> 
<body> 
<script language="JavaScript" type="text/javascript"> 
function GetDateStr(AddDayCount) 
{ 
var dd = new Date(); 
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 
var y = dd.getFullYear(); 
var m = dd.getMonth()+1;//获取当前月份的日期 
var d = dd.getDate(); 
return y+"-"+m+"-"+d; 
} 
document.write("前天:"+GetDateStr(-2)); 
document.write("<br />昨天:"+GetDateStr(-1)); 
document.write("<br />今天:"+GetDateStr(0)); 
document.write("<br />明天:"+GetDateStr(1)); 
document.write("<br />后天:"+GetDateStr(2)); 
document.write("<br />大后天:"+GetDateStr(3)); 
</script> 
</body> 
</html>

第二种方法: 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>js获取日期:前天、昨天、今天、明天、后天 - 烈火学院</title> 
</head> 
<body> 
<script language="JavaScript" type="text/javascript"> 
Date.prototype.DateAdd = function(strInterval, Number) 
{ 
var dtTmp = this; 
switch (strInterval) { 
case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number)); 
case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number)); 
case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number)); 
case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number)); 
case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number)); 
case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
} 
} 
function GetDateStr2(AddDayCount) 
{ 
var dd = new Date(); 
ddd = dd.DateAdd('d',AddDayCount);//三天后 
var y = ddd.getYear(); 
var m = ddd.getMonth()+1;//获取当前月 
var d = ddd.getDate(); 
return y+"-"+m+"-"+d; 
} 
document.write("前天:"+GetDateStr2(-2)); 
document.write("<br />昨天:"+GetDateStr2(-1)); 
document.write("<br />今天:"+GetDateStr2(0)); 
document.write("<br />明天:"+GetDateStr2(1)); 
document.write("<br />后天:"+GetDateStr2(2)); 
document.write("<br />大后天:"+GetDateStr2(3)); 
</script> 
</body> 
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在微信小程序的 WXS 中,由于 WXS 不支持直接使用 Date 对象和相关方法,因此我们需要通过字符串的处理来计算距离生日的时间,并获取今天明天后天以及月份和日期。 以下是一个示例代码: ```javascript // 获取当前日期 var now = new Date(); var today = now.getTime(); // 当前日期的时间戳 // 获取生日日期字符串 var birthdayString = '2022-01-01'; // 出生日期字符串,格式为 'YYYY-MM-DD' // 计算生日的时间戳 var birthday = new Date(birthdayString); birthday.setFullYear(now.getFullYear()); // 设置生日年份为今年,确保不会跨年份计算 var birthdayTime = birthday.getTime(); // 计算距离生日的时间差 var timeDiff = birthdayTime - today; // 计算距离生日的天数 var daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24)); // 根据天数判断是今天明天后天还是其他日期 var result; if (daysDiff === 0) { result = '今天'; } else if (daysDiff === 1) { result = '明天'; } else if (daysDiff === 2) { result = '后天'; } else { result = birthday.getMonth() + 1 + '-' + birthday.getDate(); } console.log(result); // 输出结果 ``` 你可以将上述代码嵌入到你的微信小程序中,将 `birthdayString` 替换为你需要计算的出生日期字符串,然后通过 `console.log(result)` 输出结果。这样就能够根据出生日期字符串获取距离生日的时间,返回今天明天后天或者月份和日期的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值