我需要在 JavaScript 或 TypeScript for Angular 中輸入的開始日期不超過輸入的結束日期的 60 天......邏輯是:兩個輸入之間的“最大范圍 60 天”(dateFrom 到 dateTo)。您好,我需要 JS 或 Angular TS,以便輸入的開始日期不超過輸入的結束日期的 60 天......邏輯將是:輸入的“最大范圍 60 天”。
datepicker(){
var dateFrom = this.consultaForm.get('desdeCreacion').value;
var dateTo = this.consultaForm.get('hastaCreacion').value;
if(dateTo > (dateFrom < this.datePipe.transform(new Date(dateTo).getTime()-5100000000), 'yyyy-MM-dd')){
alert('Rango máximo 60 dias');
window.location.reload();}
}
uj5u.com熱心網友回復:
您可以創建一個實用函式來計算兩個日期的差異,如下所示:
// Assuming fromDate and toDate are Date objects
// Otherwise you could convert them to Dates and pass here
function dayDifference(fromDate, toDate) {
return Math.floor((toDate - fromDate)/(1000 * 60 * 60 * 24)) // Convert milliseconds to days
}
然后在您的驗證邏輯中使用它,如下所示:
if(dayDifference(dateFrom, dateTo) <= 60) {
alert('Rango máximo 60 dias');
window.location.reload();}
}
uj5u.com熱心網友回復:
我覺得有更好的解決方案,但您可以使用日期物件并操縱日期。
datepicker(){
var dateFrom = new Date(this.consultaForm.get('desdeCreacion').value);
var dateTo = new Date(this.consultaForm.get('hastaCreacion').value);
if(dateTo > new Date(dateFrom.setDate(dateFrom.getDate() 60)) ){
alert('Rango máximo 60 dias');
window.location.reload();}
}
uj5u.com熱心網友回復:
謝謝!我調整了你的答案,我這樣解決了:
// Rango máximo 60 dias (sweetalert2)
var dateFrom60 = this.datePipe.transform(new Date(dateFrom).getTime() 5150000000,'yyyy-MM-dd');
if(dateTo > dateFrom60){
this.hasta.reset();
Swal.fire({
icon: 'error',
title: 'Rango máximo 60 días'
})
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/465677.html
標籤:javascript 有角度的 打字稿
