JavaScript Vuex或日期错误

时间:2018-07-16 07:52:18

标签: 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="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

我希望有人知道解决方案

1 个答案:

答案 0 :(得分:0)

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

  

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

谢谢@RobG