如何将JSON日期字符串与javascript字符串进行比较?
我试图比较两个时间值,我在jS中创建了一个新的日期变量,然后将其传递给JSON中的Memberstack(这很有效)。然后,我在页面重新加载时调用数据,并从Memberstack中提取值,以比较第一次加载和第二次加载之间的日期 这是我的代码:如何将JSON日期字符串与javascript字符串进行比较?,javascript,date,Javascript,Date,我试图比较两个时间值,我在jS中创建了一个新的日期变量,然后将其传递给JSON中的Memberstack(这很有效)。然后,我在页面重新加载时调用数据,并从Memberstack中提取值,以比较第一次加载和第二次加载之间的日期 这是我的代码: // Run timer. // function runTimer() { MemberStack.onReady.then(async function(member) { var metadata = await member.getMet
// 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. //
我需要使第81行和第82行匹配,以便比较它们,有人能帮我比较这两个日期吗?是您问题的答案。
您的initialedDate
不是对象,而是字符串,因此.getTime
不存在。因此,您应该将字符串转换为日期对象
这就是你可以做到的:
var initiatedDate = new Date(metadata['startDate'])
然后您的initiatedDate将使用.getTime
方法,并且不会出现错误。是您问题的答案。
您的initialedDate
不是对象,而是字符串,因此.getTime
不存在。因此,您应该将字符串转换为日期对象
这就是你可以做到的:
var initiatedDate = new Date(metadata['startDate'])
然后您的initiatedDate将具有
.getTime
方法,不会出现错误。因为initialDate是一个字符串,您需要将其转换为Date对象,我更喜欢使用矩.js处理dates@Nonik我可以使用:var obj=JSON.parse('{'}')代码>用于此?如果是,正确的语法是什么?JSON日期字符串是什么意思?我认为引用是一个日期对象。您还需要将另一个字符串转换为日期对象,并尝试新日期(initiatedDate);但是,在处理日期时,我更喜欢使用moment.js。这是否回答了您的问题?因为initialDate是一个字符串,所以需要将其转换为Date对象,在处理dates@Nonik我可以使用:var obj=JSON.parse('{'}')代码>用于此?如果是,正确的语法是什么?JSON日期字符串是什么意思?我认为引用是一个日期对象。您还需要将另一个字符串转换为日期对象,并尝试新日期(initiatedDate);但是,在处理日期时,我更喜欢使用moment.js。这是否回答了您的问题?