Linux时间取整技巧

简介: Linux时间取整技巧
发现问题

在学习前辈们代码的适合,发现了一段奇怪的代码于是研究了一下。
if [ "$VER" == "" ]; then

获得一天前的时间精确到秒

export ONE_DAY_AGO=$(date '+%Y-%m-%d %H:%M:%S' --date '1 days ago')

获得秒数再取整,这里就很奇怪了

export VER_UNIX_TS=$(expr `date -d "${ONE_DAY_AGO}" +%s` / 60 / 5 * 60 * 5 )

根据秒数计算一个新的时间

export VER=$(date +%Y%m%d%H%M -d "1970-01-01 UTC-8 $VER_UNIX_TS sec" -u)
fi
思考验证

仔细思考了一下,才意识到这是一种时间的取整技巧,可以获得当前时间最近的一个5min整数倍的时间节点。比如0:00、1:05、2:10、3:15这些时间点。
我用docker创建了一个容器来做测试,有linux机器的可以忽略
docker pull centos
docker run -it centos /bin/bash
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime -R修改系统时区

编写一个time_round.sh的shell脚本

!/bin/bash

export VER_UNIX_TS=$(expr `date -d "${1}" +%s` / 60 / 5 * 60 * 5 )
export VER=$(date '+%Y-%m-%d %H:%M' -d "1970-01-01 UTC-8 $VER_UNIX_TS sec" -u)
echo $VER
随便测试了一些时间,结果跟预期的一样,得到的时间分钟都是5min的倍数。
图片.png
推广

回到之前那段奇怪的操作秒数 / 60 / 5 * 60 * 5, 其实秒数/60就化为分钟数了,再/ 5对应的当然就是按5min的倍数来取整。

那么15min就可以变为 秒数 / 60 / 15 \* 60 \* 15
如果是毫秒数的话再/1000和\* 1000就可以
再多一对/ 60和\* 60同样也可以推广到小时
总之,觉得比较有用就记录了一下。
相关文章
|
虚拟化 云计算 容器
云计算知识第五讲:虚拟化架构、特点及优势
虚拟化架构、特点及优势有哪些?
云计算知识第五讲:虚拟化架构、特点及优势
|
存储 安全 关系型数据库
PostgreSQL物化视图增量更新扩展 -- pg_ivm
PostgreSQL不支持物化视图增量更新,需要定期执行REFRESH MATERIALIZED VIEW命令刷新物化视图。Incremental View Maintenance (IVM)是一种使物化视图保持最新的方法,其中只计算增量更改并将其应用于视图,而不是REFRESH MATERIALIZED VIEW那样从头开始重新计算内容。当只更改视图的一小部分时,IVM可以比重新计算更高效地更新物化视图。
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。
|
数据安全/隐私保护 Windows
PDF24 Tools离线版下载,PDF编辑阅读工具
PDF24 Tools是一款免费且易于使用的在线PDF工具合集,支持网页版和Windows客户端。它包含近50个PDF处理工具,如PDF创建、合并、压缩、加密、解密、编辑、提取、转换等,所有功能均可离线使用,无需登录,操作简便。软件界面直观,功能丰富,适合各类PDF文件处理需求,是办公学习的实用工具。下载即用,无限制,完全免费,广受用户好评。
5968 6
|
缓存 NoSQL Java
G1原理—9.如何优化G1中的MGC
本文主要探讨了因大对象导致频繁Mixed GC的问题及其优化方案。通过一个电商平台缓存更新的案例,分析了商品信息大量写入缓存时引发的GC问题,包括Redis锁等待、大对象分配及RegionSize调整不当等原因。文章详细介绍了Mixed GC的优化策略,分为避免策略(如调整RegionSize和新生代大小)与提速策略(如提升分配与回收速度),并深入解析了相关参数(如InitiatingHeapOccupancyPercent、G1ReservePercent等)的作用与调优方法,为解决类似性能问题提供了全面指导。
553 15
G1原理—9.如何优化G1中的MGC
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之1 - parallel seq scan
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index scan parallel index only scan
5475 0
|
SQL 数据挖掘 关系型数据库
性能碾压pandas、polars的数据分析神器来了
性能碾压pandas、polars的数据分析神器来了
1386 2
|
机器学习/深度学习 PyTorch TensorFlow
深度学习框架之争:全面解析TensorFlow与PyTorch在功能、易用性和适用场景上的比较,帮助你选择最适合项目的框架
【8月更文挑战第31天】在深度学习领域,选择合适的框架至关重要。本文通过开发图像识别系统的案例,对比了TensorFlow和PyTorch两大主流框架。TensorFlow由Google开发,功能强大,支持多种设备,适合大型项目和工业部署;PyTorch则由Facebook推出,强调灵活性和速度,尤其适用于研究和快速原型开发。通过具体示例代码展示各自特点,并分析其适用场景,帮助读者根据项目需求和个人偏好做出明智选择。
975 0
|
存储 关系型数据库 数据处理
在 Postgres 中使用创建临时表
【8月更文挑战第11天】
1500 0
|
编译器 开发工具 C语言
vscode安装+配置+使用+调试【保姆级教程】
vscode安装+配置+使用+调试【保姆级教程】
61614 9

热门文章

最新文章