当前位置: 首页 > article >正文

linux嵌入式时区问题

目录

  • 操作
  • 说明
  • 实验
  • 参考

最近有个针对时区的需求,研究了下。

查询网上的一些设置,发现基本都是系统中自带的一些文件,然后开机时解析,或者是有个修改的命令。

操作

但针对嵌入式常用到的 busybox 制作的最小系统,并没有那些文件,后查询到,可以通过设置环境变量 TZ 来改变时区的设置。如下命令,设置 东 8 时区:(这里有些疑惑东8区为何是 -8,西8区为 +8

export TZ=CST-8

也可在程序中使用函数

#include <stdlib.h>
setenv( "TZ", "CST-08", 1 );

后发现这个 CST 可以随意更换字母,在 date 输出时,就是对应字母。

说明

使用命令 man 3 tzset 查询函数 tzset 时,发现了这部分说明,可设置夏令时:
在这里插入图片描述
上图中,Mm.w.d 设置为 10 月第 1 周的周日到下年 3 月的第 3 个周日的时间为 0 时区加 13 小时,其余时间为 12 小时,在最后一天 2 点变化。

实验

下图为实际实验结果:

在这里插入图片描述

  • 设置 TZ=CST-8 ,时间在 UTC 时间基础上加了 8 小时;

  • 后进行了夏令时设置,时间在 UTC 时间基础上加了 8.5 小时,英文字母变为了设置的 CSST

  • 设置时间为 2023 年 10 月 1日 的接近 2 点的时间变化时刻之前,英文字母变为了设置的 CST,当时间超过 2 点后,查询时间变为了 2 点半,英文字母变为了设置的 CSST

  • 实验了时间从 2023 年 3 月 5 日的 CSST 时间变为 CST 时间,当手动设置当天的 1小时 29分时,为 CSST,自动走时到超过1小时30分,时间未变回,后边过了半个多小时,在 2 小时 3 分时查看时间,变为了 CST 时间(中间未查看时间,这里变化时间不确定,大概率是2小时,就不重新实验了);但手动设置当天的 1小时 30 分时,直接变为了 CST 显示。这里存在这个区别。

参考

https://juejin.cn/post/7076729170205605918
https://zhuanlan.zhihu.com/p/583438496


http://www.kler.cn/a/144884.html

相关文章:

  • STK Components 二次开发-创建卫星
  • STM32_8(DMA)
  • VUE excel表格导出
  • 精通Nginx(17)-安全管控之防暴露、限制访问、防DDos攻击、防爬虫、防非法引用
  • Nodejs 第二十章(fs 上)
  • Java多线程——原子操作(原子操作的基本概念、常见实现类的特点、相关关键字的区别等)-面试题+答案——第11期
  • 【LeeCode】26.删除有序数组中的重复项
  • 【UE5】资源(Asset)
  • elk 简单操作手册
  • Android 13.0 Launcher3 app列表页桌面图标按安装时间排序
  • hdlbits系列verilog解答(exams/m2014_q4i)-45
  • 外贸自建站服务器怎么选?网站搭建的工具?
  • 单调栈 模板
  • C语言之指针知识点总结
  • VCenter6.7 Web访问提示503 Service Unavailable
  • Linux加强篇006-存储结构与管理硬盘
  • leetcode每日一题33
  • yolov5利用yaml文件生成模型
  • Python武器库开发-前端篇之CSS元素(三十二)
  • 佳易王各行业收银管理系统软件,企业ERP管理软件,企业或个体定制开发软件以及软件教程资源下载总目录,持续更新,可关注收藏查阅