[英]Change variable by firing JavaScript date event
嗨,我正在做一個項目,客戶想在 12:00 PM 更新一個變量
技術:
這是如何完成此操作的基本指南...
// Set the next delivery date
var NextDelivery = null;
function CalcTimeOut(){
var cutOffTime = new Date();
var currentTime = new Date();
var difference = null;
if(cutOffTime.getHours() < 12) {
// If we are before 12 we can deliver today
cutOffTime.setHours(12,0,0,0);
NextDelivery = new Date();
} else {
// Set new cutoff time
cutOffTime.setHours(36,0,0,0);
// If we are after 12 we can only deliver tomorrow.
var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 1);
currentDate.setHours(0,0,0,0);
NextDelivery = currentDate;
}
var difference = (cutOffTime.getTime() - currentTime.getTime());
// Recalculate if we need to...
setTimeout(function(){
CalcTimeOut();
}, difference);
}
// Call from where ever you need to.
CalcTimeOut();
我查看了Huhammad Ahmod的代碼,它確實幫助我解決了這個問題。 順便說一下,這里是我導出的問題的修復。 index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="app.js"></script>
<title>Document</title>
</head>
<body>
<input type="date" id="date">
</body>
</html>
在app.js中我做了以下事情:
$(document).ready(function (){
// Set the next delivery date
var NextDelivery = null;
$('#date').change(function (){
// // CalcTimeOut();
// // today();
// difference();
Updated();
});
function Updated(){
var current=new Date();
var selected=document.getElementById('date').value;
var selectedDate=new Date(selected);
var uDate;
if (selectedDate.getDate()==current.getDate() && selectedDate.getMonth()==current.getMonth()){
if (current.getHours()<12){
uDate=current.getDate();
}
else{
uDate=current.getDate()+1;
}
}
else{
uDate=selectedDate.getDate();
}
var uMonth;
if (selectedDate.getMonth()+1<10){
var next=selectedDate.getMonth()+1;
uMonth='0'+next;
}
else {
uMonth = selectedDate.getMonth() + 1;
}
if (uDate<10){
uDate='0'+uDate;
}
var orderDate = selectedDate.getFullYear()+'-'+uMonth+'-'+uDate;
console.log(orderDate);
document.getElementById('date').value=orderDate;
}
});
Less then 10 用於修復 input type="Date" 給出的 YYYY-MM-DD 錯誤的格式問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.