gpt4 book ai didi

firebase - 无法在 Gatsby 站点的 GraphQL 中格式化日期

转载 作者:行者123 更新时间:2023-12-02 03:58:24 26 4
gpt4 key购买 nike

我在 Gatsby 中格式化日期时遇到问题。我从 firestore 获取了一些数据。我获取的字段之一称为“datePublished”,它包含一个时间戳形式的数字(例如 1576945502000)。事实上,它确实是一个时间戳,但它以 number 格式类型保存到 firestore。

现在,我想使用 graphql 中的 formatString 函数格式化 datePublished 字段 - 如此处所述:https://www.gatsbyjs.org/docs/graphql-reference/#dates

但我无法使格式正常工作。无论我尝试在 graphiql 中还是在我的网站上格式化字符串,它都不起作用。这是我尝试过的代码:

query MyQuery {
allNewsFeed {
edges {
node {
published(formatString:"dddd Mo, YYYY")
}
}
}
}

这是我在 graphiql 中收到的错误消息:

Unknown argument "formatString on field 'datePublished' of type 'NewsFeed'.

如果我再深入一点,我会注意到 firestore 中的字段类型被列为 number,而在 graphiql 文档资源管理器中,它被列为 FloatQueryOperatorInput

此外,我做了一个小实验,尝试在 firestore 中将相同的数字保存为 stringnumbertimestamp。字符串或数字格式都不起作用,并且出于某种原因,gatsby-firesource插件不会使用 timestamp 格式提取字段。

所以我想知道,我需要做什么才能让它在 Gatsby 中工作?

有什么想法吗?

谢谢。

最佳答案

我遇到了类似的情况,Gatsby 不接受日期字段上的“formatString”,对我来说,解决问题的方法是将字段的格式更改为 YYYY-MM-DD 所以它就这样了从 02 06 20172017-06-02,gatsby 得到了该字段代表日期的提示。 Gatsby 似乎“读取”了数据并猜测了类型,并基于此我们获得了某些功能。

由于 gatsby 使用 moment.js,我猜测它会采用 YYYY-MM-DD 格式。

我正在使用 MDX,所以我可以很容易地更改日期字段的格式,因为它只是纯文本,我不确定您是否拥有与 firestore 相同的功能,但我希望这至少能给您一些帮助尝试的想法。祝你好运!

关于firebase - 无法在 Gatsby 站点的 GraphQL 中格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59478995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com