JavaScript Vuex或日期错误
我对约会课有问题。它应该接受一个参数(其中有一个时间戳),并输出月份的正确日期和月份。但它总是显示02.06之类的内容。上个月的所有内容,而不是当前日期 这是我将时间戳传递给getter的部分JavaScript Vuex或日期错误,javascript,date,datepicker,vuex,Javascript,Date,Datepicker,Vuex,我对约会课有问题。它应该接受一个参数(其中有一个时间戳),并输出月份的正确日期和月份。但它总是显示02.06之类的内容。上个月的所有内容,而不是当前日期 这是我将时间戳传递给getter的部分 <workCard v-if="services_getSort(sortServicesBy).length > 0" v-for="i in services_getSort(sortServicesBy).data" :key="i.source"> <div slot=
<workCard v-if="services_getSort(sortServicesBy).length > 0" v-for="i in services_getSort(sortServicesBy).data" :key="i.source">
<div slot="content" class="d-flex justify-content-between ">
<router-link :to="'/services/' + i">
<div style="min-width:4.0rem" class="pr-1 align-items-center">
<span style="color:black;"><i class="fas fa-calendar-alt fa-md"></i> {{outputDateOnly(i.start)}}</span>
<br>
<span style="color:darkblue"><i class="fas fa-clock fa-md"></i> {{outputTimeOnly(i.start)}}</span>
</div>
</router-link>
<div class="p-1 d-flex mt-2">
<span style="color:black">></span>
</div>
<div style="min-width:4.0rem" class="align-items-center">
<span v-if="i.end != ''">
<span style="color:black;"><i class="fas fa-calendar-alt fa-md"></i> {{outputDateOnly(i.end)}}</span>
<br>
<span style="color:darkblue"><i class="fas fa-clock fa-md"></i> {{outputTimeOnly(i.end)}}</span>
</span>
<i v-if="i.end == ''" class="fas mt-3 fa-infinity fa-md"></i>
</div>
我的时间戳格式来自HTML输入type=“date”,如下所示
2018-07-17T10:10
我希望有人知道解决方案我通过罗布的提示找到了解决方案 > 请注意,Safari(错误地)将新日期(“2018-07-17T10:10”)视为UTC。>不要使用内置解析器罗布2小时前 我用moment.js替换了日期类,并更改了传递给moment.js类的时间戳格式
谢谢@RobGRe
date.getMonth()
,月份是零索引的(6是7月)。这是一个副本,只需要找到一个。顺便问一下,有效载荷的价值是什么?参见值,例如2018-07-17T10:10,但无论是第17天还是第3天还是第6天,新日期('2018-07-17T10:10')
被Safari(错误地)视为UTC并不重要。不要使用内置解析器。那么你有什么建议吗?你可以用两行代码编写你自己的解析器,或者使用像或这样的库。啊,只要使用新日期(2018,6,17,10,10,0)
如果时间代表本地,就可以使用新日期(Date.UTC(2018,6,17,10,10,0))
如果时间是UTC。使用String.substring可以轻松提取年、月等
export const outputDateOnly = (state, getters) => {
return payload => {
let check = getters.zeroCheck;
let date = new Date(payload)
console.log(payload);
console.log(`${date.getDay()}.${date.getMonth()}`);
return `${date.getDay().toString()}.${date.getMonth().toString()}`
}
}