记录 App 时区问题

通过 js 获取时区

  • Intl是浏览器的对象,可以通过它的一系列方法获取时区
  • 目前大部分浏览器都支持Intl。ios也支持,但是安卓app是不支持的
1
Intl.DateTimeFormat().resolvedOptions().timeZone

Android手机获取时区

  • 在安卓app上获取时区,需要通过安卓的java工具包获取时区。
  • 在uniapp中这样书写
1
2
3
4
5
6
7
// 引入相关的java类,uniapp中使用plus.android.importClass
let TimeZone = plus.android.importClass("java.util.TimeZone");
let timeZone = TimeZone.getDefault()
let id = timeZone.getID() // 获取时区ID,“Asia/Shanghai”
let name = timeZone.getDisplayName() // 获取名字
let shortName = timeZone.getDisplayName(false,TimeZone.SHORT) // 如:"CMT+08:00"
let time = timeZone.getRawOffset() // 获取时差,返回值毫秒