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脚本的更多相关文章

  1. Shell脚本编程学习入门 02

    Shell脚本编程学习入门是本文要介绍的内容,我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #! ...

  2. Linux系统——shell脚本

    shell脚本编程 作用:通过命令行解析的方式,自动执行设定好的程序或命令代码.(若将脚本挂到定时任务中,就会自动在非工作时间里自动触发执行程序) Shell脚本文件以“.sh”结尾 规范的Shell ...

  3. shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

    7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...

  4. Shell脚本基础学习

    Shell脚本基础学习 当你在类Unix机器上编程时, 或者参与大型项目如k8s等, 某些框架和软件的安装都是使用shell脚本写的. 学会基本的shell脚本使用, 让你走上人生巅峰, 才怪. 学会 ...

  5. Linux shell脚本重试机制

    重试机制在实际编程场景中应用比较场景,比如你的任务在请求一个正在写入数据但不确定什么时间会完成的文件,可能就需要通过尝试机制间隔一段时间重新执行任务. 以下 shell 脚本是实现重试机制的模板: # ...

  6. java UTC时间和local时间相互转换

    java UTC时间和local时间相互转换 1.local时间转UTC时间 /** * local时间转换成UTC时间 * @param localTime * @return */ public ...

  7. shell脚本-获取时间

    获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用 ...

  8. Python: 处理mongodb文档,怎么让UTC时间转换为本地时间?

    存储数据到MongoDB数据库时,一般我们会加一个更新数据的时间update_time.这时在python代码中 会用到datetime模块以便获取当前系统时间,但是存入到MongoDB数据库时,存储 ...

  9. 时间:UTC时间、GMT时间、本地时间、Unix时间戳

    转自:http://blog.csdn.net/u012102306/article/details/51538574 1.UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT ...

  10. Python中如何把一个UTC时间转换为本地时间

    需求: 将20141126010101格式UTC时间转换为本地时间. 在网上搜了好长时间都没有找到完美的解决方案.有的引用了第三方库,这就需要在现网安装第三方的软件.这个是万万不可的.因为真实环境不一 ...

随机推荐

  1. overflow秒解外边距合并以及浮动导致的元素塌陷问题

    外边距导致的合并问题: 1 处于一上一下位置的两个块级元素 在同时各自设置了上下边距时,二者间的外边距通常以 数值较大的一个作为两者间的外边距 而不是简单的数值相加 .box2{ width: 100 ...

  2. NSSM:简化Windows服务配置,提升系统维护效率

    NSSM:简化Windows服务配置,提升系统维护效率 在Windows系统环境中,服务的配置与管理是一项复杂而重要的任务.传统的服务管理方式往往涉及繁琐的步骤,不仅效率低下,还容易出错.然而,随着N ...

  3. [白话解析] 通俗解析集成学习之GBDT

    [白话解析] 通俗解析集成学习之GBDT 目录 [白话解析] 通俗解析集成学习之GBDT 0x00 摘要 0x01 定义 & 简述 1. GBDT(Gradient Boosting Deci ...

  4. Presto常用命令

    一.基本资料 1.官方文档 https://prestodb.github.io/docs/current/sql/select.html 二.常用命令 1.kill任务,登录presto客户端 CA ...

  5. [BZOJ3514] [Codechef MARCH14] GERALD07加强版 题解

    名字感觉挺奇怪的. 考虑离线算法.首先答案就是用 \(n\) 减去连完边后的生成树森林边数.生成树当然就可以用 \(lct\) 求解了.我是不会告诉你这个时候我已经开始想回滚莫队了的. 考虑当我们倒序 ...

  6. python接入百度智能云API实现ai对话

    python接入百度智能云API实现ai对话 千帆大模型平台-百度智能云千帆 代码段: import requests import json # 获取访问令牌的函数 def get_access_t ...

  7. 新版Edge 浏览器几种详细的卸载方法

    一.使用Windows系统自带卸载程序卸载 1.打开"控制面板"(可在Windows搜索栏中搜索): 2.选择"程序和功能": 3.找到Microsoft Ed ...

  8. Typecho自定义右键菜单美化和禁用F12

    右键美化 使用右键美化,请禁用 HoerMouse 鼠标美化插件,否则貌似没效果 Joe主题在后台-外观设置-设置外观-全局设置-自定义<body></body>标签内填入如下 ...

  9. Spring Boot创建完项目运行Cannot determine embedded database driver class for database type NONE

    spring boot 创建项目引用mybatis后,直接运行会提示: Cannot determine embedded database driver class for database typ ...

  10. 3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截图说明)

    3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截图说明) @ 目录 3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截 ...