Конвертируйте дату UTC для отображения с использованием date-fns, сохраняя отметку времени UTC в качестве тега для базы данных. - PullRequest
0 голосов
/ 04 марта 2019

У меня есть даты, прикрепленные к записям в файле json, в котором они хранятся в хронологическом порядке.Я хотел бы использовать date-fns для форматирования дат для отображения в пользовательском интерфейсе, сохраняя детальные данные в метке времени.

В настоящее время он хранится как 2019-03-01T04:33:26.114Z в json и отображается как «Пт Мар 01 2019 04:33:26 GMT-0500 (восточное стандартное время)» в пользовательском интерфейсе.

В util.js date имеет вид:

export const constant = x => () => x;

// date in local time constructor
export function CreateDateAsUTC(date) {
  return new Date(
    Date.UTC(
      date.getFullYear(),
      date.getMonth(),
      date.getDate(),
      date.getHours(),
      date.getMinutes(),
      date.getSeconds())
    )
}

Добавление блока var format с форматированием date-fns к коду отображения в файле archive.js приводит к ошибки без изменений в формате даты в формате UTC:

import {format, compareAsc} from 'date-fns/esm'

...

const getDate = ({ date }) => date;

// this block is intended to format using date-fns but doesn't 
var format = require('date-fns/format')
format(date, [format='dddd, DD MMMM, YYYY, h:mm'])
//=> true

//without the var format block this displays with lengthy formatting.
const entryTemplate = ({ date, passage, question, answer }) =>
  html`<li>
  <h3>${date}</h3>
    <dl>
      <dt>Passage</dt>
      <dd>${passage}</dd>
      <dt>Question</dt>
      <dd>${question}</dd>
      <dt>Answer</dt>
      <dd>${answer}</dd>
    </dl>
  </li>`;

Я новичок в javascript и не уверен, каков будет лучший способ изменить даты для отображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...