我有一個rails/react應用程序(只有一個應用程序),允許用戶使用Flatpickr安排會議。Rails/React flatpickr momentjs時間轉換
我正在傳遞一個名爲「scheduled_for」的日期時間列,以便我可以在我的反應組件中使用它。
這就是我的「componentDidMount()」的模樣:
componentDidMount =() => {
new Flatpickr(this.refs.scheduledFor, {
minDate: new Date(),
enableTime: true,
altInput: true,
altFormat: "F j, Y h:i K",
onChange: function(dateObject) { console.log(dateObject) }
});
}
有一個在我的會議模式,以防止被安排在過去的會議上「scheduled_for_future」驗證方法。
##app/models/meeting.rb
validate :scheduled_for_future
def scheduled_for_future
if scheduled_for.present? && scheduled_for < Time.zone.now
errors.add(:scheduled_for, "Must be in future")
end
end
我希望用戶能夠選擇一個日期&時間在他們的本地時區,並將它保存爲UTC(Heroku的默認值)。
一切工作正常在本地開發,但如果我嘗試選擇時間&生產日期,例如說從現在10分鐘,我得到「必須在未來」的錯誤。 (這顯然是因爲我的時區是PT,從現在起10分鐘是根據服務器的時間過去的)
感覺這應該很容易解決。爲了用戶體驗,我希望客戶能夠在自己的時區選擇時間,並在保存之前將其轉換爲UTC,但無法弄清楚。
我對momentjs或flatpickr不是很有經驗,所以很可能我錯過了一些非常重要的東西。
請讓我知道,如果你需要任何更多的信息/東西沒有意義。
萬分感謝