速記摘要:什麼是走在一個時區通過基於文本的用戶輸入純粹的最佳方式/最佳做法?我試圖做一個非常粘性的任務嗎?類似CLI的時區選擇建議
背景是:我的工作,是爲了能夠幫助安排活動爲主要是基於在北美一組的NodeJS聊天機器人,而是來自世界各地以及具有參與者。我能夠聽取各種用戶輸入並作出相應的響應。但是,除了用戶名之外,可用於我的API不會返回任何其他內容。
我的命令輸入計劃如下所示:
!Event datetime="MM-DD-YYYY h:mm a" timezone="PST" name="Foobar"
通過此刻我能夠解析了一下與日期時間。但是,我沒有應用時區。我的客戶通常不熟悉UTC/GMT系統。他們中的大多數都以NA或EU爲基礎,更多地用於縮寫。我想盡可能使用戶友好,但是如何將他們的時區輸入映射到代碼中使用的tz數據庫樣式?我可以將它們重定向到關於tz數據庫和所有城市的維基頁面,但它是一個相當大的列表,與一般的joe不太友好。
我與矩時區的實驗,我有最接近的事基本上是UTC的偏移量的映射表來描述+ A TZ數據庫名稱。喜歡的東西:
var TIMEZONE_MAPPINGS = {
"UTC+9" : "Asia/Tokyo",
...
"UTC-8" : "America/Los_Angeles",
}
但我覺得這是非常hackish的,而不是DST真的不太妙,而我選擇每個偏移一個「衆所周知」的項目。
有沒有更好的方式來採取這樣的投入?或者我應該放棄並通過UTC接收所有內容,並解釋UTC是什麼?
是否有可能將用戶的瀏覽器時區傳遞給chatbot http://stackoverflow.com/questions/1091372/getting -the-clients-timezone-in-javascript而不必輸入時區? – Detect
不幸的是,我無法訪問該信息。我有一個偵聽器獲取一個消息對象,然後將其解析爲:{user:,content:,timestamp(in utc epoch):} –