[英]How do I compare a JSON date string to javascript string?
我正在嘗試比較兩個時間值,我在 jS 中創建一個新的日期變量,然后將其傳遞給 JSON 中的 Memberstack(這可行)。 然后我在頁面重新加載時調用數據並從 Memberstack 中拉回值以比較第一次加載和第二次加載之間的日期。
這是我的代碼:
// Run timer. //
function runTimer() {
MemberStack.onReady.then(async function(member) {
var metadata = await member.getMetaData() // <------ call the initial date value from Memberstack
if (metadata.startDate != null) {
var initiatedDate = metadata["startDate"]; // <------ the initial date value
var referenceDate = currentDate; // <------ the second date value to compare to
var calcDifference = referenceDate.getTime() - initiatedDate.getTime(); // <------ errors here
var calcDifferenceD = calcDifference / (1000 * 3600 * 24);
alert(calcDifference);
}
})
}
// End run timer. //
當我嘗試在控制台中調試它時,我看到以下內容:
當我運行initiatedDate.getTime();
在第 83 行,我收到此錯誤:
Uncaught (in promise) TypeError: initiatedDate.getTime is not a function
我需要使第 81 行和第 82 行匹配,以便我可以比較它們,有人可以幫我比較這兩個日期嗎?
這里是您問題的答案。 您的 InitialDate 不是initiatedDate
,而是一個字符串,因此.getTime
不存在。 因此,您應該將您的字符串轉換為日期 object。
您可以這樣做:
var initiatedDate = new Date(metadata['startDate'])
然后您的 InitialDate 將具有.getTime
方法,並且不會出現錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.