ruby-on-rails - Rails:将一个时区的未来会议时间转换为另一个时区
问题描述
使用 flatpickr,我允许用户指定未来会议的时间和日期,包括他们的时区。
结果是以下值:
Mon May 25 2020 12:00:00 GMT-0600 (Mountain Daylight Time)
他们可以选择与团队成员会面,该时间成员将设置他们当前的时区,我使用 ActiveSupport::TimeZone 存储该值(https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html )
我试图弄清楚如何获取上面的日期结果并向安排会议的用户显示“X 将是晚上 7 点”。
我将 AttendeeZone 和 meetingTime 发送到 Rails 端点:
def time_for_attendee
attendeeZone = params["attendeeZone"]
# => "Tokyo"
meetingTime = params["meetingTime"]
# => "Mon May 25 2020 12:00:00 GMT-0600 (Mountain Daylight Time)"
attendeeTime = ???
render json: {
attendeeZone: attendeeZone,
meetingTime: meetingTime,
attendeeTime: attendeeTime
}
end
我将如何根据他们的时区将该会议时间转换为参加者时间?
我接近了,Time.zone.now.in_time_zone(attendeeZone)
但我不确定如何将 meetingTime 的格式转换为 replace now
。
解决方案
它是.parse()
Time.zone.parse(params["meetingTime"]).in_time_zone(attendeeZone)
或者,如果您将其分配给模型,那么它将已经被自动解析。
推荐阅读
- session - Google Oauth2 Bearer 令牌作为会话 ID
- python - 插入排序两种不同实现的效率分析
- prolog - 如何使用 maplist 和谓词
- angular - Firestore 在 Ionic / Angular 应用程序中的功能无法按预期工作
- data-structures - 在 O(1) 中使用 push/pop/midPop 并在小于 O(N) 中使用 getMin 的设计堆栈。空间不受约束
- python - 如何从子类访问 MainWindow.Widget?
- javascript - 如何使用 vuejs、axios 在关系数据库 Laravel 模型中获取数据
- ruby-on-rails - 为什么新数据没有以嵌套形式保存?
- security - SPA+API 服务器和传统 Web 应用的单一身份验证模型(OIDC 方式)
- django - 发布新记录时如何包含 user_id (foreignKey)?