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