Javascript为我们提供了像toLocaleString
, toLocaleTimeString
等很好的函数。但是我想知道——什么才是真正找出用户的语言环境,或者至少是他们当前的时区的正确方法?
我想到的用例是,我要求用户输入日期和时间,我想从中构建一个Date
对象,但我需要知道使用哪个时区,因为没有标准函数。
据我所知,JavaScript没有任何时区信息,它只有当前时区偏移量(在DST期间变化)。
因此,您可以使用new Date(2011, 10, 16, 15, 2, 0, 0).getTime()
获取当前的unix毫秒来确定使用用户当前时区的精确时刻。但是,如果需要在不同时区之间进行转换,则应该显式询问用户的时区并在服务器端进行转换。
使用此命令获取时区:https://bitbucket.org/pellepim/jstimezonedetect