javascript - 通过单击 javascript 3 值中的按钮将日期更改为下一个/上一个
问题描述
示例:< 2/7/2020 3/7/2020 4/7/2020 > 我需要单击按钮 Next 或 Previous 以同时更改所有 3 个值。
我的代码
if (!Date.now) {
Date.now = function() {
return new Date().getTime();
}
}
var theDate = Date.now();
document.getElementById('date').innerText = getTheDate(theDate)
document.getElementById('prev').addEventListener("click", function() {
theDate -= 86400000;
document.getElementById('date').innerText = getTheDate(theDate)
})
document.getElementById('next').addEventListener("click", function() {
theDate += 86400000;
document.getElementById('date').innerText = getTheDate(theDate)
})
function getTheDate(getDate) {
var days = ["Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"
];
var months = ["January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October", "November", "December"
];
var theCDate = new Date(getDate);
return days[theCDate.getDay()] + ', ' + theCDate.getDate() + '-' +
months[theCDate.getMonth()] + '-' + theCDate.getFullYear();
}
意见
<button id="prev"><</button>
<span id="date" style="margin:0px 30px;"></span>
<button id="next">></button>
解决方案
new Date()
将返回一个 Date 对象设置当前日期。要得到昨天和明天,只需加或减一天
let today = new Date();
let yesterday = today.setDate(today.getDate() - 1);
let tomorrow = today.setDate(today.getDate() + 1);
在您的点击处理程序中,只需today
按所需方向更新并更新其他值。
您不需要编写自己的函数来格式化日期字符串,只需使用DateTimeFormat
. 这已经本地化,可以考虑不同的时区。
let formatter = new Intl.DateTimeFormat('en-us', { weekday: 'long',
year: 'numeric',
month: 'numeric',
day: 'numeric'})
将返回Friday, 7/3/2020
推荐阅读
- python - 如何将鼠标按钮选择存储在列表中?
- java - 如何停止使用任务计划程序启动的进程
- python-3.x - 偶尔会弹出 StaleElementReferenceException 错误的问题
- python - Openpyxl将非空单元格读取为无
- javascript - 强制 RBAC 对 React 组件
- android-studio - 我无法在 android studio 上运行第一个应用程序
- unwrap - 无法强制 swift 5 的非可选类型“可达性”的展开值
- amazon-web-services - 在 cloudformation 中部署我的堆栈后如何安装软件
- c# - CSharpCodeProvider 中的属性
- sql - 左连接内左连接