如何用javascript显示接下来4天的日期?
我一直在尝试以“月日”(如6月28日)的格式获取我正在为未来4天制作的应用程序的日期。以下是我一直在编写的代码,基于我第二天找到的解决方案:如何用javascript显示接下来4天的日期?,javascript,Javascript,我一直在尝试以“月日”(如6月28日)的格式获取我正在为未来4天制作的应用程序的日期。以下是我一直在编写的代码,基于我第二天找到的解决方案: now.setDate(now.getDate() + 1) 它会返回一个历元时间戳 let now = new Date(); function timeConverter(epoch) { let a = new Date(epoch * 1000); let months = [ "Jan", "Feb", "Mar",
now.setDate(now.getDate() + 1)
它会返回一个历元时间戳
let now = new Date();
function timeConverter(epoch) {
let a = new Date(epoch * 1000);
let months = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
];
let month = months[a.getMonth()];
let date = a.getDate();
let time = month + " " + date;
return time;
}
let tomorrow = now.setDate(now.getDate() + 1);
let tomorrowDay = document.querySelector(".next1");
tomorrowDay.innerHTML = timeConverter(tomorrow);
let afterTomorrow = now.setDate(now.getDate() + 2);
let aftertomorrowDay = document.querySelector(".next2");
aftertomorrowDay.innerHTML = timeConverter(afterTomorrow);
以此类推,在接下来的两天里我加上+3和+4。这会给我随机的日期,比如分别是7月19日、1月9日、3月27日和3月10日。我不知道代码到底出了什么问题,但有一个细节,就是当我在控制台上记录今天的日期时
let now = new Date();
console.log(now)
它告诉我是7月8日,6月28日。我不知道这是不是把一切都搞砸了,还是代码错了。有人能帮我提出改进代码的建议吗?或者有什么方法可以在接下来的4天内以这种格式获得正确的天数?使用函数from here(),我可以修改您的代码以使其正常工作。一个主要问题是添加epoch,而不仅仅是传递日期对象并使用它
功能时间转换器(日期){
让月份=[
“简”,
“二月”,
“三月”,
“四月”,
“五月”,
“六月”,
“七月”,
“八月”,
“九月”,
“十月”,
“11月”,
“十二月”
];
设月=月[thedate.getMonth()];
让date=thedate.getDate();
让时间=月份+“”+日期;
返回时间;
}
Date.prototype.addDays=函数(天){
var date=新日期(this.valueOf());
date.setDate(date.getDate()+天);
返回日期;
}
变量日期=新日期();
日志(timeConverter(date.addDays(1));
日志(timeConverter(date.addDays(2))代码>使用函数from here(),我可以修改您的代码以使其正常工作。一个主要问题是添加epoch,而不仅仅是传递日期对象并使用它
功能时间转换器(日期){
让月份=[
“简”,
“二月”,
“三月”,
“四月”,
“五月”,
“六月”,
“七月”,
“八月”,
“九月”,
“十月”,
“11月”,
“十二月”
];
设月=月[thedate.getMonth()];
让date=thedate.getDate();
让时间=月份+“”+日期;
返回时间;
}
Date.prototype.addDays=函数(天){
var date=新日期(this.valueOf());
date.setDate(date.getDate()+天);
返回日期;
}
变量日期=新日期();
日志(timeConverter(date.addDays(1));
日志(timeConverter(date.addDays(2))
您不需要时间转换器中的*1000
:由.setDate(现在是.getDate()+1)返回的数字代码>已在毫秒内
还有Eduard的答案:
另外,奇怪的是,你的主机今天被记录为7月8日。你的系统时钟关了吗?你能确认只输入这些行吗
let now = new Date();
console.log(now)
七月八日?这似乎是一个单独的问题。您不需要时间转换器中的*1000
:由.setDate返回的数字(现在是.getDate()+1)代码>已在毫秒内
还有Eduard的答案:
另外,奇怪的是,你的主机今天被记录为7月8日。你的系统时钟关了吗?你能确认只输入这些行吗
let now = new Date();
console.log(now)
七月八日?这似乎是一个单独的问题。在下面的一行中,您将现在的日期更改为明天
让明天=now.setDate(now.getDate()+1)代码>
因此,当您尝试设置“后天”日期时,您使用的是“新”的“现在”日期
letextromorrow=now.setDate(now.getDate()+2)代码>
下面的代码工作正常
var today = new Date();
var tomorrow = new Date();
var afterTomorrow = new Date();
var afterAfterTomorrow = new Date();
var afterAfterAfterTomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
afterTomorrow.setDate(today.getDate()+2);
afterAfterTomorrow.setDate(today.getDate()+3);
afterAfterAfterTomorrow.setDate(today.getDate()+4);
在下一行中,您将“现在”日期更改为“明天”
让明天=now.setDate(now.getDate()+1)代码>
因此,当您尝试设置“后天”日期时,您使用的是“新”的“现在”日期
letextromorrow=now.setDate(now.getDate()+2)代码>
下面的代码工作正常
var today = new Date();
var tomorrow = new Date();
var afterTomorrow = new Date();
var afterAfterTomorrow = new Date();
var afterAfterAfterTomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
afterTomorrow.setDate(today.getDate()+2);
afterAfterTomorrow.setDate(today.getDate()+3);
afterAfterAfterTomorrow.setDate(today.getDate()+4);
我会使用moment.js,因为它允许格式化和其他经过良好测试的日期函数
函数fnProcess(){
var startdate=力矩();
var new_date=[];
var sHTML=“”;
对于(i=0;i<5;i++){
新的日期[i]=时刻()。添加(i,“天”)。格式(“MMM DD”);
sHTML=sHTML+“”+new_date[i]+“”;
}
sHTML=sHTML+“”;
$(“#结果”).html(sHTML);
}
#结果{填充:20px;}
过程
我会使用moment.js,因为它允许格式化和其他经过良好测试的日期函数
函数fnProcess(){
var startdate=力矩();
var new_date=[];
var sHTML=“”;
对于(i=0;i<5;i++){
新的日期[i]=时刻()。添加(i,“天”)。格式(“MMM DD”);
sHTML=sHTML+“”+new_date[i]+“”;
}
sHTML=sHTML+“”;
$(“#结果”).html(sHTML);
}
#结果{填充:20px;}
过程
实际上应该是
let a = new Date(epoch);
因为epoch参数已经是一个有效的时间戳
不过,我会避免完全使用时间戳
功能时间转换器(日期){
让splitDate=date.toDateString().split(“”);
让时间=拆分日期[1]+“”+拆分日期[2];
返回时间;
}
实际上应该是
let a = new Date(epoch);
因为epoch参数已经是一个有效的时间戳
不过,我会避免完全使用时间戳
功能时间转换器(日期){
让splitDate=date.toDateString().split(“”);
让时间=拆分日期[1]+“”+拆分日期[2];
返回时间;
}
非常感谢您的建议。我找到了一种解决方法,使用我正在使用的API提供的时间戳,并将其传递给时间转换器函数。它现在工作正常。谢谢你抽出时间!非常感谢你的建议。我找到了一种解决方法,使用我正在使用的API提供的时间戳,并将其传递给时间转换器函数。它现在工作正常。谢谢你抽出时间!非常感谢你的建议。我通过使用我正在使用的API提供的时间戳并将其传递给tim,找到了一种解决方法