亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用戶輸入日期和今天日期之間的增量時間的 JS 日期計算器

用戶輸入日期和今天日期之間的增量時間的 JS 日期計算器

墨色風雨 2022-12-02 16:39:07
該項目的想法很簡單:一個從用戶那里檢索輸入的計算器,希望是日期時間格式,盡管我不知道該怎么做,所以我現在正在檢索整數并從中構造一個日期,然后減去今天的日期給我說輸入日期之前剩下的天數。是的,這可能很簡單,但我不知道我做錯了什么,因為我現在在我的 HTML NaN 中得到一個值。所以再次明確一點,用戶輸入一個日期,JS 將計算距離該日期還有多少天。請盡可能少地幫助我,任何一點幫助對我來說都很重要。這是我到目前為止的代碼:var today = new Date();var dd = String(today.getDate()).padStart(2, '0');var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!var yyyy = today.getFullYear();var y = prompt("Enter the year")var yy = prompt("Enter the month")var yyy = prompt("Enter the day")today = mm + '/' + dd + '/' + yyyy;const oneDay = 24 * 60 * 60 * 1000;var oneDate = new Date(y, yy, yyy);var diffDays = Math.round(Math.abs((oneDate - today) / oneDay));document.write(diffDays)
查看完整描述

2 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

你實際上非常接近。您無緣無故地將一個字符串重新分配給今天,只是將其保留為日期。但是因為你想要一整天,你需要將時間歸零。


此外,從yy中減去 1,因為它將是日歷月份編號,而不是 ECMAScript 月份編號,因此:


var today = new Date();

// zero the time

today.setHours(0,0,0,0);

var dd = String(today.getDate()).padStart(2, '0');

var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!

var yyyy = today.getFullYear();

var y = prompt("Enter the year")

var yy = prompt("Enter the month")

var yyy = prompt("Enter the day")

// don't do this

//today = mm + '/' + dd + '/' + yyyy;

const oneDay = 24 * 60 * 60 * 1000;

// Subtract 1 from month number

var oneDate = new Date(y, yy - 1, yyy);

var diffDays = Math.round(Math.abs((oneDate - today) / oneDay));


document.write(diffDays)


查看完整回答
反對 回復 2022-12-02
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

您可以使用Dayjs庫輕松完成此操作。它只有 2KB,所以它不會使您的頁面變大很多,但會讓您的生活變得更簡單。


這是瀏覽器的完整工作示例:


dayjs.extend(window.dayjs_plugin_duration)

dayjs.extend(window.dayjs_plugin_relativeTime)

  

const now = dayjs();


const year = prompt("Enter the year");

const month = prompt("Enter the month");

const day = prompt("Enter the day");


const userDate = dayjs(new Date(year, month - 1, day));


const difference = dayjs.duration(now.diff(userDate)).asDays();


document.write(`${Math.round(difference, 0)} days`);

<script src="https://unpkg.com/[email protected]/dayjs.min.js"></script>

<script src="https://unpkg.com/[email protected]/plugin/relativeTime.js"></script>

<script src="https://unpkg.com/[email protected]/plugin/duration.js"></script>


查看完整回答
反對 回復 2022-12-02
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號