繁体   English   中英

JavaScript Vuex或Date错误

[英]JavaScript Vuex or Date bugs

我对日期类有问题。 它应该带有一个参数(带时间戳),并输出正确的月份和月份。 但它始终显示02.06之类的内容。 过去一个月的所有内容,而不是当前日期。

这是我将时间戳传递给getter的部分

<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>

这是我的getter函数,应该处理这个原始时间戳记

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()}`
  }
}

我的时间戳格式来自HTML输入type =“ date”,看起来像这样2018-07-17T10:10

我希望有人知道解决方案

我通过RobG的提示找到了解决方案>

请注意,新的Date('2018-07-17T10:10')被Safari(错误地)视为UTC。 >不要使用内置的解析器。 – RobG 2小时前,我将我的Date类替换为moment.js,并更改了我传递给moment.js类的时间戳格式。

谢谢@RobG

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM