ios - Swift - 日期更改时区
问题描述
我正在使用 firebase 向用户展示当天的锻炼情况。功能很简单:
REF_LEADERBOARD.document(gymID).collection("resultsWorkout").whereField("date", isEqualTo: someDateTime).getDocuments { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
// show workout
}
}
}
像这样定义 someDateTime :
let calendar = Calendar.current
let day = calendar.component(.day, from: date)
let month = calendar.component(.month, from: date)
let year = calendar.component(.year, from: date)
let dateShow = "\(year)/\(month)/\(day)"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy/MM/dd HH:mm"
let someDateTime = formatter.date(from: "\(dateShow) 00:00")
此功能在美国运行良好,但在法国却不行。我认为问题来自UTC
:
我法国UTC
不是-7,这个功能显示“没有结果”......
你知道我怎样才能让代码适用于世界上的每个国家吗?
解决方案
推荐阅读
- electron - 将 devtools 中当前选定的元素传递给电子中的 javascript
- reactjs - Firebase redux 数据映射状态到道具?
- python - 从 3D 散点图构建表面,其中 2D 中的 [x,y] 转换为 [f1(x,y),f2(x,y),f3(x,y)]
- excel - 如果两列值匹配,则合并内容
- javascript - 是否可以通过一次回流来进行这些更改?
- python - 将函数的输出分配给与其他列中的条件匹配的行的数据框列
- javascript - ASP Core Javascript 在使用 Window.open() 时将 http 重定向到 https
- sql - 在Oracle中使用关联查询删除记录
- java - Hibernate 与同一类对象的多个 @OneToOne 关系存在问题
- javascript - 在 HTML 中显示格式化的 JSON(大对象)