news 2026/6/9 21:11:19

SQLite3学习笔记3:UTC和CST 时区偏差问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQLite3学习笔记3:UTC和CST 时区偏差问题

1. 校准 Ubuntu 系统时间 / 时区

若系统时间本身和实际时间对不上,执行以下命令校准需同理校准时区 / 同步 NTP 时间):

# 1. 设置时区为上海(嵌入式设备常用时区)sudotimedatectl set-timezone Asia/Shanghai# 2. 安装时间同步工具(Ubuntu)sudoaptinstallntpdate -y# 3. 同步网络时间(嵌入式设备可对接NTP服务器,无网络则手动设置)sudontpdate pool.ntp.org# 验证时间是否正确date

2. 解决时间戳差 8 小时的问题

SQLite3 的CURRENT_TIMESTAMP默认生成的是UTC 时间(世界协调时间),而 Ubuntu 系统显示的是CST 时间(中国标准时间,UTC+8),所以数据库中记录的时间会比本地时间少 8 小时。

  • 数据库时间:2026-01-26 10:15:46(UTC)
  • 本地时间:2026-01-26 18:15:46(CST = UTC+8)
方案 1:查询时转换时区

核心逻辑:原始数据存 UTC(国际标准,便于跨时区设备溯源),查询时转换为 CST(UTC+8)。

// 原查询语句SELECT*FROMdevice_params;// 新查询语句(转换为CST时间)SELECTid,param_name,param_value,datetime(update_ts,'+8 hours')ASupdate_ts_cstFROMdevice_params;

结果如下:

// UTC1|temp|26.0|2026-01-2610:15:462|humidity|60.2|2026-01-2610:15:46// CST1|temp|26.0|2026-01-2618:15:462|humidity|60.2|2026-01-2618:15:46
方案 2:插入 / 更新时直接存 CST 时间

核心逻辑:插入 / 更新时显式指定时区偏移,让update_ts直接存储 CST 时间 —— 适合仅在国内使用、无需跨时区的嵌入式设备。

操作步骤(修改 INSERT/UPDATE 语句)
  1. 插入数据时直接存 CST
// 原插入语句(存UTC)INSERTINTOdevice_params(param_name,param_value)VALUES('temp',26.5),('humidity',61.0);// 新插入语句(存CST,显式+8小时)INSERTINTOdevice_params(param_name,param_value,update_ts)VALUES('temp',26.5,datetime(CURRENT_TIMESTAMP,'+8 hours')),('humidity',61.0,datetime(CURRENT_TIMESTAMP,'+8 hours'));

结果如下:

// UTC3|temp|26.5|2026-01-2611:03:554|humidity|61.0|2026-01-2611:03:55// CST5|temp|26.5|2026-01-2619:04:166|humidity|61.0|2026-01-2619:04:16
  1. 更新数据时同步存 CST
// 原更新语句(存UTC)UPDATEdevice_paramsSETparam_value=27.0,update_ts=CURRENT_TIMESTAMPWHEREparam_name='temp';// 新更新语句(存CST)UPDATEdevice_paramsSETparam_value=27.0,update_ts=datetime(CURRENT_TIMESTAMP,'+8 hours')WHEREparam_name='temp';

结果如下:

// UTC1|temp|27.0|2026-01-2611:14:133|temp|27.0|2026-01-2611:14:135|temp|27.0|2026-01-2611:14:13// CST1|temp|27.0|2026-01-2619:14:183|temp|27.0|2026-01-2619:14:185|temp|27.0|2026-01-2619:14:18
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 20:51:09

ERNIE 4.5-A3B开放:210亿参数文本大模型免费体验!

ERNIE 4.5-A3B开放:210亿参数文本大模型免费体验! 【免费下载链接】ERNIE-4.5-21B-A3B-Base-Paddle 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-21B-A3B-Base-Paddle 百度ERNIE系列最新文本大模型ERNIE-4.5-21B-A3B-Base-Pad…

作者头像 李华
网站建设 2026/6/4 20:46:02

5个实用技巧:uBlock Origin让你高效构建纯净网络环境

5个实用技巧:uBlock Origin让你高效构建纯净网络环境 【免费下载链接】uBlock uBlock Origin (uBO) 是一个针对 Chromium 和 Firefox 的高效、轻量级的[宽频内容阻止程序] 项目地址: https://gitcode.com/GitHub_Trending/ub/uBlock uBlock Origin&#xff0…

作者头像 李华
网站建设 2026/5/22 3:01:22

一图秒懂大模型:如何训练一个奖励模型

在大语言模型(LLM)训练中,奖励模型(Reward Model, RM)是实现人类反馈强化学习(RLHF)核心组件之一。本文结合两幅图,详细介绍奖励模型的结构、训练过程及其作用机制。 一、奖励模型的…

作者头像 李华
网站建设 2026/5/20 10:30:22

创新互动:3D抽奖系统如何重塑现代活动沉浸式体验

创新互动:3D抽奖系统如何重塑现代活动沉浸式体验 【免费下载链接】log-lottery 🎈🎈🎈🎈年会抽奖程序,threejsvue3 3D球体动态抽奖应用。 项目地址: https://gitcode.com/gh_mirrors/lo/log-lottery …

作者头像 李华