javascript - 将时间转换为时刻时区中的特定时区
问题描述
我有个约会2018-06-19 09:06:29
。这就是它在数据库中的存储方式。我正在使用moment-timezone
和调用这个函数。
function getDateString(t, tz) {
return moment()
.tz("America/Chicago")
.format('l');
}
在这里,我知道我timezone
的是“美国/芝加哥”,它是“UTC-5 小时”。我应该在我作为参数通过的时间之前 5 小时得到时间。
在我升级我的反应之前,此功能运行良好。谁能知道可能是什么问题?
这些是我当前的反应设置
"expo": "^27.0.0",
"moment": "^2.22.2",
"react": "16.3.1",
"react-moment": "^0.7.0",
"moment-timezone": "^0.5.17",
"react-native": "https://github.com/expo/react-native/archive/sdk-27.0.0.tar.gz",
"react-native-swipeable": "^0.6.0",
"react-navigation": "1.5.11"
解决方案
根据我的评论,不确定到底出了什么问题(以及它过去是如何在你身边工作的),但它应该如何对我起作用:
使用您的日期时间创建一个时刻,指定它以 utc 表示,使用
moment.utc()
将其转换为您的时区
moment.tz()
这会给出类似的东西:
function getDateString(t, tz) {
return moment.utc(t, 'YYYY-MM-DD HH:mm:ss')
.tz("America/Chicago")
.format('l');
}
推荐阅读
- asp.net-mvc - 如何在 StartUp.Auth.cs 中使用 Autofac 进行依赖注入
- javascript - 关闭选项卡时如何发出socketIO事件
- python - 在中心设置 ttk Notebook 选项卡 [Python]
- haskell - Haskell返回十六进制值的列表
- php - 在laravel中带有文件上传循环的数组插入数据库
- python - 如何修复 docplex 错误?它在 CPLEX 中运行良好
- java - 如何在java中读取MongoDB数组
- sql - Oracle SQL:在 1905 年 6 月 1 日之前的时区无法正确转换时间戳
- reactjs - React-Spring 对列表数量太懒了
- css - 如何使 :before & :after 伪元素填充剩余宽度?