使用date-fns转换UTC日期以进行显示,同时保持UTC时间戳作为数据库标签

时间:2019-03-04 19:17:16

标签: javascript date-fns

我将日期附加到json文件中的条目中,该条目按时间顺序存储它们。我想使用date-fns设置日期格式以便在UI中显示,同时将精细数据保留在时间戳中。

当前,它以2019-03-01T04:33:26.114Z的形式存储在json中,并在UI中显示为“ Fri Mar 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())
    )
}

将带有date-fns格式的var format块添加到archive.js的显示代码中会导致 errors ,而不会更改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,不确定哪种最佳方法是修改显示日期。

0 个答案:

没有答案