const daysFromNow = (date) => Math.round((date-Date.now())/(1000*3600*24))
console.log(daysFromNow(new Date('07/04/2020')));
//result is -534
鑒于上述情況,為什么它有效?我讀過 .now() 自 1970 年以來回傳 ms。傳入的日期是否也包含自 1970 年以來的 ms 值?
uj5u.com熱心網友回復:
傳入的日期是否也包含自 1970 年以來的毫秒值?
Date 物件代表地球上的特定時刻,所以是的,您可以以毫秒為單位檢索自 1970 年以來的毫秒數。
一個Date物件有一個valueOf回傳 Date 原始值的函式:
從 1970 年 1 月 1 日 00:00:00 UTC 到給定日期之間的毫秒數。
所以(new Date()).valueOf()和Date.now()是等價的:
console.log((new Date()).valueOf())
console.log(Date.now())
并且在因為是一個物件并回傳一個數字valueOf的情況下被呼叫進行轉換。date - Date.now()dateDateDate.now()
這是帶有valueOf函式的自定義物件的示例:
let test = {
valueOf() {
return 5;
}
}
console.log(test - 1);
uj5u.com熱心網友回復:
這是因為valueOf屬性的作業。該屬性回傳一個數字,在 js 的所有物件中實作。你也可以在你的物件中覆寫它。
這是一個用于創建添加鏈 js 函式的示例。
function add(x) {
const fn = (y) => add(x y);
fn.valueOf = () => x;
return fn;
}
const addTen = add(5)(5);
console.log(addTen 1) // 11
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/386961.html
標籤:javascript 日期
