uniapp获取时区,兼容安卓

1,485 阅读1分钟

这是开发过程中遇到的一个问题,记录一下

通过js获取时区

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

安卓手机获取时区

  • 在安卓app上获取时区,需要通过安卓的java工具包获取时区。
  • 在uniapp中这样书写
// 引入相关的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() // 获取时差,返回值毫秒