【发布时间】:2017-10-22 06:39:41
【问题描述】:
有没有办法在不使用外部库的情况下检查时区名称在 JavaScript 中是否有效?
当用户在文本字段中输入时区名称时,我想验证时区是否有效?
我知道我们可以使用时刻时区库轻松做到这一点。但我不想使用任何额外的库。我正在寻找纯 JavaScript 方式。
isValidTimeZone(name) {
//return true/false
}
isValidTimeZone('Asia/Colombo'); //returns true
isValidTimeZone('America/Los_Angeles'); //returns true
isValidTimeZone('MyTimeZone/ME'); //returns false
【问题讨论】:
-
根据友好的位置名称(如您在问题中显示的那样),时区被视为无效,它们根据时区偏移量有效。 stackoverflow.com/questions/22609927/…
-
用户输入时区名称(例如:亚洲/科伦坡)。稍后我需要在 Highcharts 中使用它。所以需要验证这一点。用户不会输入 +05:30。
-
是什么让时区对您有效?
America/Anaheim有效吗?因为我不认为你的意思是“大陆/城市名称”格式的任何东西都是自动有效的。你必须有一些数据库来测试。 -
您想自己维护this data吗?为了避免使用图书馆,似乎很麻烦。
-
它们不仅仅是“友好”的名称,它们是 tz 数据库中的标识符。名单在这里:en.wikipedia.org/wiki/List_of_tz_database_time_zones
标签: javascript timezone timezone-offset