文章目录
时区展锐MTKRK
知识扩展时区的表示
时区
不同平台或芯片,修改目录不一样,
展锐
可在SDK下的device/sprd/目录下搜索TIMEZONE 修改值为Asia/Shanghai
diff --git a/device/sprd/sharkl5/test/VendorConfig.mk b/device/sprd/sharkl5/test/VendorConfig.mk
old mode 100644
new mode 100755
index 6ccb333149..de786a8dde
--- a/device/sprd/sharkl5/test/VendorConfig.mk
+++ b/device/sprd/sharkl5/test/VendorConfig.mk
-PRODUCT_TIMEZONE=America/Mexico_City
+PRODUCT_TIMEZONE=Asia/Shanghai
+
+DEFAULT_LOCALE=zh-CN
修改build/make/tools/buildinfo.sh 添加 echo “ro.product.locale= zh-CN”
build/make/target/product/languages_default.mk 把zh_CN提到PRODUCT_LOCALES最前面
PRODUCT_LOCALES := \
+ zh_CN \
MTK
修改如下
device/mediateksample下搜索关键字DEFAULT_TIMEZONE, DEFAULT_LOCALE patch如下, DEFAULT_TIMEZONE前面会跟平台相关的前缀,比如TEST_DEFAULT_TIMEZONE修改PRODUCT_LOCALES,把要的时区放到最前面
diff --git a/device/mediateksample/test/ProjectConfig.mk b/device/mediateksample/test/ProjectConfig.mk
index 6fe066b58d..4c2896ce19 100755
--- a/device/mediateksample/test/ProjectConfig.mk
+++ b/device/mediateksample/test/ProjectConfig.mk
@@ -702,11 +702,11 @@ TEST_W_INTO_GOOGLE_SMS=yes
#功能:设置默认时区
-TEST_DEFAULT_TIMEZONE=Africa/Johannesburg
+TEST_DEFAULT_TIMEZONE=Asia/Shanghai
TEST_CUSTOM_CLIENT_ID=android-navtech
-TEST_DEFAULT_LOCALE=en-ZA
+TEST_DEFAULT_LOCALE=zh-CN
diff --git a/device/mediateksample/test/full_test.mk b/device/mediateksample/test/full_test.mk
index f11b689800..a8b5d374c4 100755
--- a/device/mediateksample/test/full_test.mk
+++ b/device/mediateksample/test/full_test.mk
@@ -15,7 +15,7 @@ $(call inherit-product, $(LOCAL_PATH)/device.mk)
include $(LOCAL_PATH)/ProjectConfig.mk
# set locales & aapt config.
-PRODUCT_LOCALES := en_US zh_CN zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES
+PRODUCT_LOCALES := zh_CN en_US zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES
RK
device/对应mk配置文件中添加 默认语言为中文, 时区为北京时间
PRODUCT_PROPERTY_OVERRIDES += \
+ persist.sys.language=zh \
+ persist.sys.country=CN
PRODUCT_PROPERTY_OVERRIDES += \
+ persist.sys.timezone=Asia/Shanghai
知识扩展
在安卓开发中,时区是一个重要的概念,它会影响到日期和时间的显示与计算。下面从时区的表示、获取当前时区、设置时区以及时区对日期时间的影响等方面进行详细介绍。
时区的表示
在 Java(安卓开发常用语言)中,时区通常使用 java.util.TimeZone 类或者 Java 8 引入的 java.time.ZoneId 类来表示。
java.util.TimeZone:是 Java 早期用于处理时区的类,它提供了一些静态方法来获取不同的时区实例,例如 TimeZone.getTimeZone(String ID),其中 ID 是时区的标识符,如 “Asia/Shanghai”。java.time.ZoneId:是 Java 8 及以上版本引入的新的时区类,它更加简洁和易用,并且遵循 ISO 8601 标准。可以使用 ZoneId.of(String zoneId) 方法来获取时区实例。 获取当前设备的时区 使用 java.util.TimeZone
import java.util.TimeZone;
public class TimeZoneExample {
public static void main(String[] args) {
TimeZone currentTimeZone = TimeZone.getDefault();
System.out.println("当前时区: " + currentTimeZone.getID());
}
}
使用 java.time.ZoneId
import java.time.ZoneId;
public class ZoneIdExample {
public static void main(String[] args) {
ZoneId currentZoneId = ZoneId.systemDefault();
System.out.println("当前时区: " + currentZoneId.getId());
}
}
在安卓应用中,你可以在 Activity 或者其他组件中使用类似的代码来获取当前设备的时区。 作者:帅得不敢出门 CSDN原创谢绝转载