文章目录

  • 定位源码
  • 实现
  • 附录
    • 12 小时制与 24 小时制的详细解析
      • 一、基本定义与核心区别
      • 二、转换方法与示例
      • 三、应用场景与文化差异
      • 四、延伸知识:特殊计时制与历史背景

目的是把设置中使用默认语言区域关掉,并把使用24小时制打开
如下图为原始的:
在这里插入图片描述
修改后变成这样
在这里插入图片描述

定位源码

查找Android SDK xml配置文件中的关键字def_time_12_24

find vendor/ -name "*.xml" | xargs grep def_time_12_24
xargs: unmatched single quote; by default quotes are special to xargs unless you use the -0 option
find device/ -name "*.xml" | xargs grep def_time_12_24
find frameworks/base/ -name "*.xml" | xargs grep def_time_12_24

有一些工程可以直接在
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
找到

    <!-- Default for Settings.System.TIME_12_24 --><string name="def_time_12_24" translatable="false">12</string>

实现

修改xml
如果能直接在xml中找到,则直接把12改成24就行了

    <!-- Default for Settings.System.TIME_12_24 --><string name="def_time_12_24" translatable="false">24</string>

如果找不到,需要自行添加,这里要注意,不同的芯片厂添加的位置不一样的。
比如mtk
vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml
在最后面加上

    <!-- Default for Settings.System.TIME_12_24 --><string name="def_time_12_24" translatable="false">24</string>

修改java
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
如果是mtk,则是
vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
在private void loadSystemSettings(SQLiteDatabase db)函数中添加这句:

loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.def_time_12_24); // 24小时时间格式

附录

12 小时制与 24 小时制的详细解析

一、基本定义与核心区别

  1. 12 小时制(12-hour clock)
  • 定义:将一天分为上午(AM, Ante Meridiem)和下午 / 晚上(PM, Post Meridiem)两个时段,每个时段 12 小时。
  • 表示方式:
    上午:1:00 AM - 11:59 AM(午夜 12 点为 12:00 AM)。
    下午 / 晚上:1:00 PM - 11:59 PM(中午 12 点为 12:00 PM)。
    例:下午 3 点表示为 3:00 PM,午夜 12 点表示为 12:00 AM。
  1. 24 小时制(24-hour clock)
  • 定义:直接用 0:00 到 23:59 表示一天中的每个时刻,无需区分上午 / 下午。
  • 表示方式:
    凌晨:0:00 - 5:59。
    上午:6:00 - 11:59。
    下午:12:00 - 17:59。
    晚上:18:00 - 23:59。
    例:下午 3 点表示为 15:00,午夜 12 点表示为 00:00 或 24:00(部分场景中 24:00 用于表示一天结束)。

二、转换方法与示例

  1. 12 小时制转 24 小时制
  • AM 时段:小时数不变,去掉 AM。
    例:9:30 AM → 09:30(或 9:30)。
  • PM 时段:小时数 + 12,去掉 PM。
    例:3:15 PM → 15:15,12:00 PM → 12:00(中午)。
  • 特殊情况:12:00 AM → 00:00(午夜)。
  1. 24 小时制转 12 小时制
  • 0:00-11:59:小时数不变,加 AM(12:00 除外)。
    例:8:45 → 8:45 AM,12:00 → 12:00 PM(中午)。
  • 12:00-23:59:小时数 - 12,加 PM。
    例:16:20 → 4:20 PM,23:00 → 11:00 PM。
    特殊情况:24:00 → 12:00 AM(午夜,仅在特定场景使用)。

三、应用场景与文化差异

  • 12 小时制的常见地区:
    美国、英国、加拿大等英语国家,以及部分拉丁美洲、亚洲国家(如印度)。
    场景:日常对话、电视节目、社交媒体(如 “晚上 7 点见”)。
  • 24 小时制的常见地区:
    中国、欧洲、澳大利亚、俄罗斯等多数国家。
    场景:
    专业性领域:医院(如用药时间 “14:00”)、航空(航班起飞时间 “06:30”)、军事(“22:00 时发动进攻”)。
    公共服务:交通时刻表(火车 “19:45 开”)、公共设施开放时间(“08:00-22:00”)。
    文化差异影响:
    12 小时制更符合自然语言习惯,但可能因 AM/PM 遗漏导致误解(如 “12 点见面” 可能指中午或午夜)。
    24 小时制因无歧义性,更适用于需要精确计时的场景(如科研、工业生产)。

四、延伸知识:特殊计时制与历史背景

  • 军事时间(Military Time):本质是 24 小时制,但表述方式不同(如 “1500 小时” 表示 15:00,读作 “fifteen hundred hours”)。
  • 历史起源:12 小时制起源于古埃及(将白天和黑夜各分为 12 小时),24 小时制则在工业革命后因标准化需求逐渐普及。
  • 技术应用:计算机系统、编程中普遍使用 24 小时制(如 Unix 时间戳以 00:00:00 为起点)。
    作者:帅得不敢出门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912117.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912117.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912117.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32设计的扫地机器人

一、前言 1.1 项目介绍 【1】项目开发背景 随着社会节奏的加快和人们生活方式的改变&#xff0c;智能家居产品逐渐走入千家万户。作为智能清洁系统的重要组成部分&#xff0c;扫地机器人凭借其自动化、高效性和便捷性&#xff0c;成为现代家庭中不可或缺的智能设备之一。传统…

什么是接口测试?

2025最新Jmeter接口测试从入门到精通&#xff08;全套项目实战教程&#xff09; 接口测试概念 接口测试是项目测试的一部分&#xff0c;它测试的主要对象是接口&#xff0c;是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交…

JDY-23蓝牙模块与电脑的连接方式

JDY-23蓝牙模块支持多种连接方式&#xff0c;包括SPP&#xff08;串口通信&#xff09;模式和BLE&#xff08;低功耗蓝牙&#xff09;模式。以下是与电脑连接的具体方法&#xff1a; 1. 通过SPP模式连接 JDY-23模块支持SPP协议&#xff0c;可以通过串口与电脑通信。以下是连接…

【网络】Linux 内核优化实战 - net.core.rmem_max

目录 参数作用与原理默认值与查看方法调整场景与方法适用场景调整方法 与其他参数的协同性能影响与注意事项典型案例总结 net.core.rmem_max 是 Linux 内核中控制 套接字接收缓冲区&#xff08;Receive Buffer&#xff09;最大允许值 的参数。它与 net.core.rmem_default&#…

设计模式 | 工厂模式

工厂模式&#xff08;Factory Pattern&#xff09; 是创建型设计模式的核心成员&#xff0c;它通过将对象创建的逻辑封装起来&#xff0c;实现了创建与使用的解耦。本文将深入探讨工厂模式的核心思想、实现技巧以及在C中的高效实现方式。 为什么需要工厂模式&#xff1f; 在软…

数字孪生技术驱动UI前端变革:从静态展示到动态交互的飞跃

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字化转型的深水区&#xff0c;数字孪生技术正以破竹之势重构 UI 前端的技术逻辑与设计理念…

Django实战:自定义中间件实现全链路操作日志记录

文章目录 一、中间件介绍激活中间件生命周期 二、自定义中间件中间件钩子函数基于类的中间件 三、实战案例操作日志功能参考资料 一、中间件 介绍 在 Django 中&#xff0c;中间件&#xff08;Middleware&#xff09;是一组轻量级、底层的插件系统&#xff0c;用于全局地改变…

Java编程之迭代器模式(Iterator Pattern)

引言&#xff1a; 走进图书馆&#xff0c;你站在一排书架前&#xff0c;想要浏览书籍。你会一格格地从左到右翻阅书籍&#xff0c;而不是去研究书架是什么。 一本书一本书地翻&#xff0c;才知道书架上藏了什么书&#xff0c;研究书架的构造是不知道书籍的内容的。 这种“逐本…

ARM64 linux系统的一般执行过程

1、正在运行的用户进程X 2、发生异常&#xff08;包括系统调用等&#xff09;&#xff0c;CPU完成的工作&#xff1a;把当前程序指针寄存器PC放入ELR_EL1寄存器&#xff0c;把PSTATE放入SPSR_EL1寄存器&#xff0c;把异常产生的原因放在ESR_EL1寄存器&#xff0c;将异常向量表…

Vue3+ element 实现导入导出

一、导入功能相关代码分析 相关变量定义 importVisible&#xff1a;这是一个ref类型的响应式变量&#xff0c;用于控制导入对话框的显示与隐藏&#xff0c;初始值为false。当用户点击 “导入” 按钮时&#xff0c;会尝试将其值设为true来显示导入对话框&#xff0c;若出现异常则…

Git安装(纯小白版)

一、Git安装 1. 简介 Git是一款免费开源的分布式版本控制系统&#xff0c;常用于软件开发。它能记录文件在不同时间的改动&#xff0c;让用户在需要时查看、恢复旧版本。支持多人协作开发&#xff0c;多人可同时修改项目文件&#xff0c;Git会处理好冲突。开发者能在本地创建…

cocos2 本地根据文本内容生成二维码

cocos2 本地根据文本内容生成二维码 之前做了一个功能&#xff0c;就是cocos2小游戏&#xff0c;结算页面需要有一个二维码&#xff0c;二维码内容是一个网址&#xff0c;这个网址需要根据用户游玩分数确定访问哪个网址&#xff0c;但是这个小游戏是单机小游戏&#xff0c;不连…

87.xilinx FPGA读取器件id方法

dout数据高位先出msb module chip_id_reader(input clk,input reset,output [56:0] dna_value,output dna_valid );reg [6:0] bit_count;reg [56:0] dna_shift_reg;reg dna_read;reg dna_shift;wire dna_out;// 实例化DNA_PORT原语DNA_PORT #(.SIM_DNA_VALUE(57h123456789ABCD…

AcWing--数据结构(二)

Trie 树 用来高效的快速存储和查找字符串集合的数据结构 如存储&#xff1a;abcdef,abdef,aced,... 从根节点开始存储&#xff0c;从前往后存储&#xff0c;看是否有a&#xff0c;没有就创建&#xff0c;依次存储。 一般在最后一个字符打个标记&#xff0c;意思就是当前字符…

论基于架构的软件设计方法(ABSD)及应用

2025年3月22日作 题目 基于架构的软件设计&#xff08;Architecture-Based Software Design, ABSD&#xff09;方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下&#xff0c;递归细化的软件开发方法&#xff0c;它以软件系统功能的…

【Docker基础】Docker容器管理:docker exec详解

目录 1 docker exec命令概述 1.1 命令定位与作用 1.2 与相似命令对比 2 基本语法与参数解析 2.1 完整命令语法 2.2 核心参数详解 2.2.1 -i, --interactive 2.2.2 -t, --tty 2.2.3 -d, --detach 2.2.4 -e, --env 2.2.5 -u, --user 2.2.6 -w, --workdir 3 典型使用场…

CSS3实现同心圆效果

效果图&#xff1a; 文本左侧显示一个 外圆&#xff08;30px&#xff0c;半透明&#xff09; 和 内圆&#xff08;12px&#xff0c;实色&#xff09; 的同心圆&#xff1a; <!DOCTYPE html> <html> <head><style>.text-with-circles {position: rela…

Spring Boot项目开发实战销售管理系统——系统设计!

Spring Boot项目开发实战——销售管理系统 在前面的章节中我们详细介绍了Spring Boot各个功能的使用&#xff0c;本章将新建一个销售管理系统项目&#xff0c;演示项目从需求分析到功能分解&#xff0c;再到各个功能的实现过程&#xff0c;最后再使用Docker部署上线的完整过程…

RK3588开发笔记-Hailo AI模块调试

目录 前言 一、RK3588 与 Hailo AI 模块简介 RK3588 Hailo AI 模块 二、原理图连接 三、内核配置 四、Hailo驱动编译 五、Hailo模块验证 总结 前言 在边缘计算和人工智能应用不断发展的今天,将高性能的 AI 模块与功能强大的开发板相结合,能为各种创新应用提供坚实的基…

【Pytorch】语言模型上的动态量化

目录 ■导言 ①定义模型 ②加载文本数据 ③加载预训练模型 ④测试动态量化 ■结论 ■导言 量化涉及将模型的权重和激活从float转换为int&#xff0c;这可以导致更小的模型大小和更快的推理&#xff0c;并且只对准确性造成很小的影响。 本文将把最简单的量化形式-动态量…