Datetime 日期小部件/输入显示保存不一致以显示

Datetime 日期小部件/输入显示保存不一致以显示,datetime,time,gatsby,netlify,netlify-cms,Datetime,Time,Gatsby,Netlify,Netlify Cms,我认为这是一个时区/UTC问题,但我不能完全理解 我已在盖茨比网站上使用以下config.yml设置了Netlify CMS: backend: name: git-gateway branch: master publish_mode: editorial_workflow media_folder: src/images/uploads public_folder: /uploads collections: - name: "tourInfo" label: "T

我认为这是一个时区/UTC问题,但我不能完全理解

我已在盖茨比网站上使用以下
config.yml
设置了Netlify CMS:

backend:
  name: git-gateway
  branch: master

publish_mode: editorial_workflow

media_folder: src/images/uploads
public_folder: /uploads

collections:
  - name: "tourInfo"
    label: "Tour Info"
    files:
      - file: "static/json/tours.json"
        label: "Tours"
        name: "tours"
        fields:
          - {label: "Tour", name: tour, widget: list, fields: [
            {label: "Date", name: date, widget: "date"},
            {label: "Spaces", name: spaces, widget: "number"},
            {label: "Booked", name: booked, widget: "number", required: false} ]}
我已经用它来创建巡演日期,但这样做有不一致之处:

通过CMS选择日期时,日期显示如上所述的正确日期

但是,该日期保存为:

这显然与我输入的日期不一致

在前端通过Gatsby获取的所有输入日期中,此行为也保持一致:

[
   {
      "date":"2019-04-03T23:35:50.291Z",
      "spaces":6,
      "booked":6
   },
   {
      "date":"2019-04-17T23:36:08.718Z",
      "spaces":6,
      "booked":null
   },
   {
      "date":"2019-05-01T23:36:19.622Z",
      "spaces":6,
      "booked":null
   },
   {
      "date":"2019-05-15T23:36:33.206Z",
      "spaces":6,
      "booked":null
   },
   {
      "date":"2019-06-05T23:36:49.265Z",
      "spaces":6,
      "booked":null
   },
   {
      "date":"2019-06-19T23:37:09.924Z",
      "spaces":6,
      "booked":6
   }
]
他们都出去了一天

我怀疑这是某种时区问题?我的区域设置当前在英国夏令时

当然,当使用<代码>日期小部件时,时间应该无关紧要-为什么Netlify甚至必须节省时间?我只是输入一个日期


我怎样才能纠正这个问题?因此,当我进入2019/04/04时,我得到2019/04/04?

可以在NetlifyCMS中设置日期格式

示例

{label: "Date", name: date, widget: "date", dateFormat: "YYYY-MM-DD", "format": "YYYY-MM-DD"},
  • dateFormat
    是小部件的输出
  • format
    是数据输出
这些格式基于格式


我们可以通过此操作禁用日期日历,但日期日历仅保留时间选择器: 在config.yml文件中,只需写下如下命令:

name: 'end_time'
label: 'End Time'
widget: 'datetime'
format: 'HH:mm A'
dateFormat: false
timeFormat: true
看起来是这样的:


谢谢,这解决了问题。我必须承认,默认行为似乎仍然有点奇怪,而且容易出错。我同意。最好弄清楚文档中的日期小部件是怎么回事。