gatsby - 防止时区影响
问题描述
在 post frontmatter 中,我使用这种日期格式:
---
date: 2020-10-23T01:11:32+03:00
---
在查询中,我使用这种格式:
frontmatter {
date(formatString: "DD.MM.YYYY HH:mm:ss")
}
我期待23.10.2020 01:11:32
,但得到22.10.2020 22:11:32
。
我怎样才能得到23.10.2020 01:11:32
?
加法1
这个标记:
<time className="post-date"><small>{post.frontmatter.date}</small></time>
这个查询:
export const pageQuery = graphql`
query {
site {
siteMetadata {
lang
author
description
keywords
title
siteUrl
}
}
allMarkdownRemark(sort: { fields: [frontmatter___date], order: DESC }) {
nodes {
excerpt
fields {
slug
}
frontmatter {
title
date(formatString: "DD.MM.YYYY HH:mm:ss")
description
}
}
}
}
`
解决方案
您有多种方法可以绕过它。
最原生的,尝试locale
在您的formatString
过滤器中使用:
frontmatter {
date(formatString: "DD.MM.YYYY HH:mm:ss", locale:"en") // en by default, change it to what you need
}
formatString
使用提供的选项,在他们的文档momentjs
中检查更多的语言环境和过滤器。
如果以前的方法不符合您的规范,您可以随时在 JavaScript 文件中使用结果,例如:
const date= props.data.allMarkdownRemark.nodes[0].frontmatter.date;
date.format('llll'); // will outpout something like Tue, Oct 27, 2020 7:27 AM
免责声明:请注意,到达日期的路径是伪造的,获取解决方法,没有路径。
推荐阅读
- c++ - PyTorch C++ 将数据转换为张量失败
- nginx - 负载均衡的服务器架构
- c++ - 如何遍历 cpp 中函数返回的 char 指针数组
- android - 如何通过 Google Play 商店获取带有应用签名密钥的 apk?
- c# - 我如何获得过去 4 周的周数 C#
- ios - SwiftUI:EditButton 在嵌入 HStack 部分标题时不会触发 onDelete
- matlab - 如何确定在 Octave 中引起警告的位置?
- reactjs - 无法迭代作为道具传递给 React js 子组件的数组
- ios - SwiftUI:如何让滚动视图包含完整列表长度
- python - Python Decimal 不接受 getcontext() 精度修改