UTC时间与正常时间相互转换的shell脚本
UTC时间转换的shell脚本
前言 摸鱼感想
昨天被UTC时间,系统时间的转换的代码绕得有点晕,
最后,不饶了,我当天的任务是搞一个嵌入式测试而已!!!开摆!
于是在网上找了半天没找到合适的时间转换函数,我 &……#@##!#(#
再然后,两个shell脚本就诞生了
上班写博客那不叫摸鱼,那叫技术总结!!!天天加班,我已经一个多月没写过总结啦
1.系统时间转换为UTC时间
#!/bin/bash
# 获取当前系统时间
datetime=$(date "+%Y-%m-%d %H:%M:%S")
# 转成 UTC 时间戳(秒)并减去 8 小时
timestamp=$(date -d "$datetime" +%s)
timestamp=$((timestamp - 8 * 3600))
# 拆分高低位
high=$(( (timestamp >> 16) & 0xFFFF ))
low=$(( timestamp & 0xFFFF ))
# 打印结果
echo "系统当前时间(模拟RTC): $datetime"
echo "UTC时间戳(秒): $timestamp"
printf "高位: 0x%04X\n" "$high"
printf "低位: 0x%04X\n" "$low"
# ===================================================
# ===================================================
# 用法示例:
# 1) chmod +x ./hex_to_time.sh
# 2)./hex_to_time.sh 0x67FF 0xD400
2.UTC时间转换为人类时间
我不是人类
#!/bin/bash
# 检查参数数量
if [ $# -ne 2 ]; then
echo "用法: $0 <高16位hex> <低16位hex>"
echo "例如: $0 0x6800 0x3A72"
exit 1
fi
# 读取输入的高低位参数
high_hex=$1
low_hex=$2
# 将十六进制转为十进制
high=$((high_hex))
low=$((low_hex))
# 合并成 32 位时间戳
timestamp=$(( (high << 16) | low ))
# 输出 UTC 时间戳
echo "合并时间戳(UTC): $timestamp"
# 本地时间(用于 RTC 显示)
# 如果需要添加时差,在这里操作timestamp
timestamp_local=$((timestamp))
# 格式化为人类时间
date_str=$(date -d "@$timestamp_local" "+%Y-%m-%d %H:%M:%S")
echo "本地时间(UTC+8): $date_str"
# ===================================================
# ===================================================
# 用法示例:
# 1)chmod +x rtc_to_hex.sh
# 2)./rtc_to_hex.sh
UTC时间与正常时间相互转换的shell脚本的更多相关文章
- Shell脚本编程学习入门 02
Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #! ...
- Linux系统——shell脚本
shell脚本编程 作用:通过命令行解析的方式,自动执行设定好的程序或命令代码.(若将脚本挂到定时任务中,就会自动在非工作时间里自动触发执行程序) Shell脚本文件以“.sh”结尾 规范的Shell ...
- shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量
7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...
- Shell脚本基础学习
Shell脚本基础学习 当你在类Unix机器上编程时, 或者参与大型项目如k8s等, 某些框架和软件的安装都是使用shell脚本写的. 学会基本的shell脚本使用, 让你走上人生巅峰, 才怪. 学会 ...
- Linux shell脚本重试机制
重试机制在实际编程场景中应用比较场景,比如你的任务在请求一个正在写入数据但不确定什么时间会完成的文件,可能就需要通过尝试机制间隔一段时间重新执行任务. 以下 shell 脚本是实现重试机制的模板: # ...
- java UTC时间和local时间相互转换
java UTC时间和local时间相互转换 1.local时间转UTC时间 /** * local时间转换成UTC时间 * @param localTime * @return */ public ...
- shell脚本-获取时间
获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...
- Python: 处理mongodb文档,怎么让UTC时间转换为本地时间?
存储数据到MongoDB数据库时,一般我们会加一个更新数据的时间update_time.这时在python代码中 会用到datetime模块以便获取当前系统时间,但是存入到MongoDB数据库时,存储 ...
- 时间:UTC时间、GMT时间、本地时间、Unix时间戳
转自:http://blog.csdn.net/u012102306/article/details/51538574 1.UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT ...
- Python中如何把一个UTC时间转换为本地时间
需求: 将20141126010101格式UTC时间转换为本地时间. 在网上搜了好长时间都没有找到完美的解决方案.有的引用了第三方库,这就需要在现网安装第三方的软件.这个是万万不可的.因为真实环境不一 ...
随机推荐
- 基于Hexo实现一个静态的博客网站
原文首发:https://blog.liuzijian.com/post/8iu7g5e3r6y.html 1.初始化Hexo Hexo是中国台湾开发者Charlie在2012年创建的一个开源项目,旨 ...
- Educational Codeforces Round 173 (Rated for Div. 2)
题目链接:Dashboard - Educational Codeforces Round 173 (Rated for Div. 2) - Codeforces 总结:翻译插件用不了了,B题题意一直 ...
- 局域网 yum仓库
有时候在局域网环境中,每台机器上挂载本地镜像充当yum仓库太麻烦. 可以选择局域网一台服务器生成yum仓库,局域网其他服务器通过http协议访问这台服务器的yum仓库. 一.准备 两台虚拟机,其中 A ...
- Luogu P3177 树上染色 [ 蓝 ] [ 树形 dp ] [ 贡献思维 ]
一道很好的树形 dp !!!!! 树上染色. 错误思路 定义 \(dp[u][i]\) 表示以 \(u\) 为根的子树中,把 \(i\) 个点染成黑色的最大收益. 但这样写,就在转移的时候必须枚举每一 ...
- Magnet AXIOM使用+2024獬豸杯实战
Magnet AXIOM+2024獬豸杯实战 百度网盘链接 2024獬豸杯:https://pan.baidu.com/s/1t_6Fwl6RgmEtF0UXRfVD1A?pwd=j583#list/ ...
- 发那科机器人R2000iC控制柜常见故障类型
发那科机器人维修R2000iC控制柜常见故障类型 电源故障: 发那科机器人R2000iC控制柜不能正常供电,可能是由于电源线路损坏.保险丝烧断.电源模块故障或电压不稳定等原因造成. 通信故障: 控制柜 ...
- VMware与宿主机文件夹共享的方法
首先,在打开的虚拟机的主界面中点选我的电脑上的虚拟机系统,再点击右侧的编辑虚拟机设置. 然后,在弹出的虚拟机设置中点击"选项"标签栏目 点选在"选项"标签栏目中 ...
- 若依单体Vue版本新增多环境配置
若依框架是一个简单的web后台管理脚手架,基于SpringBoot+Vue开发的.本次更改版本为3.8.7截止2023年8月14日,最新版本! 若依自带只有 application.yml 与 app ...
- Deepin 设置开机执行某sh文件
背景 deepin系统上部署了Geoserver,但是每次开机后都得手动过去起,麻烦,故想着找个办法解决下 过程 在/etc/systemd/system目录下新建一个 geoserver.servi ...
- 探究高空视频全景AR技术的实现原理
1. 引言 笔者认为现阶段AR技术的应用是还是比较坑爹的,大都是噱头多但是实用的成分少,拿出来做做DEMO是可以,但是难以在实际的项目中落地产生实际的经济价值.一方面是很难在业务上难以找到合适的应用场 ...