Vue.js Недействительная дата - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть несколько классов .vue, в которых я использую даты.

Проблема, с которой я сталкиваюсь, заключается в том, что при загрузке кода на мою страницу SharePoint при использовании средства отладки Chrome я получаю много ошибок даты, таких как

Not a valid date: "2019-09-19T01:00:00Z" (см.снимок экрана)

Screenshot

В интернете я нашел это только на github:

https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md

Поэтому я попытался использовать только заглавную букву MM, но ошибка все равно появилась.

У меня нет большого опыта в Vue.js, поэтому я не знаю, что именно я мог бы попытаться изменить.

В моем data:function() я получил следующую часть

data: function() {
return {
  baseImageUrl: this.$store.state.baseImageUrl,
  histories: [],

  columns: [
    {
      label: "Created On",
      field: "createdAt",
      type: "date",
      dateInputFormat: "yyyy-MM-dd",
      dateOutputFormat: "DD.MM.YYYY",
      thClass: "text-left",
      tdClass: "text-center",
      width: '151px',
      filterOptions: {
        enabled: true,
        placeholder: "Date",
       // filterFn: this.myColumnFilter
      }
    },

В моем methods я получил

HistorysData: function(data) {
  var data = data.d.results;
  this.histories = [];
  var $this = this;
  for (var i = 0; i < data.length; i++) {
    var Created = this.getJSONDateAsString(data[i].Created, "dd.MM.yyyy");

    $this.rows.push({
      createdAt: data[i].date,
      action: data[i].act,
      details: data[i].details,
      correspondingListID: data[i].CorrespondingListID
    });
  }  
},

getJSONDateAsString определяется как

getJSONDateAsString: function(jsdatevalue, returnFormat) {
  if ((jsdatevalue == "") | (jsdatevalue == null)) {
    return "";
  }
  return new Date(jsdatevalue).toString(returnFormat);
}

1 Ответ

0 голосов
/ 19 сентября 2019

Примените фильтр к дате и верните стандартный формат даты для вывода.Функция Форматирование происходит от date-fns , но вы можете использовать все, что отформатирует ее в MM / DD / YYYY.Существуют и другие принятые форматы ISO , но это самый надежный из тех, что я использовал до сих пор.

    DateFilter(dateString: string) {
        if (dateString) {
            return format(dateString, 'MM/DD/YYYY');
        }
        else {
            return "";
        }
    },

Если вам также нужно время

        DateTimeFilter(dateString: string) {
            if (dateString) {
                return format(dateString, 'MM/DD/YYYY HH:mm');
            }
            else {
                return "";
            }
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...