我剛剛在我的代碼中遇到了一個錯誤,但不知道為什么。下面的兩個示例使用 Date.setDate() 向日期添加天數。在第一個示例中,我傳遞了一個數字持續時間并得到了正確答案。在第二個示例中,我傳遞了一個字串持續時間并在未來 3 年之后得到答案,這不是我想要的!
today = new Date(); //2021-10-12
duration = 30
new Date(new Date().setDate(today.getDate() duration)); // 2021-11-11
duration2 = '30'
new Date(new Date().setDate(today.getDate() duration2)); // 2025-02-11 why?
第二個例子中發生了什么導致日期在未來這么遠?
uj5u.com熱心網友回復:
將數字添加到字串時,它們將連接在一起。例如,1 '1' === '11'。
您需要先將字串轉換為數字,這可以使用一元加號運算子或parseInt.
new Date(new Date().setDate(today.getDate() duration2));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327971.html
標籤:javascript 日期
