千家信息网

solaries中怎么利用date获取前一天日期

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,solaries中怎么利用date获取前一天日期,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.Linux系统下获取历史日期的方法获取
千家信息网最后更新 2025年02月06日solaries中怎么利用date获取前一天日期

solaries中怎么利用date获取前一天日期,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1.Linux系统下获取历史日期的方法

获取前一天日期:

date -d last-day +%Y%m%d

获取15天前日期:

date +%Y%m%d --date '15 days ago'

2.solaries下执行Linux的date -d命令,行不通

oracle@cwgsdb1:~$ date -d last-day +%Y%m%ddate: illegal option -- dusage:  date [-u] mmddHHMM[[cc]yy][.SS]        date [-u] [+format]        date -a [-]sss[.fff]

显然不支持,不过可以格式化当前日期输出

oracle@cwgsdb1:~$ date +%Y%m%d20181026

3.solaries下的date命令获取前一天日期

oracle@cwgsdb1:~$ echo `TZ=$TZ date`Friday, October 26, 2018 09:29:57 PM CSToracle@cwgsdb1:~$ echo `TZ=$TZ+16 date`Thursday, October 25, 2018 09:30:11 PM localtimeoracle@cwgsdb1:~$ dateFriday, October 26, 2018 09:31:00 PM CSToracle@cwgsdb1:~$ echo `TZ=$TZ+24 date`Thursday, October 25, 2018 01:31:55 PM localtimeoracle@cwgsdb1:~$ echo `TZ=$TZ+40 date`Wednesday, October 24, 2018 09:31:59 PM localtimeoracle@cwgsdb1:~$ echo $TZlocaltime

中国的时区是+8区,所以获取n天前的时间方法为:

oldDate=`TZ=$TZ+X date +%Y%m%d`

其中,X=24*n-8

但是对于时间过于长,如10天前,使用该方法返回的结果就不对:

oracle@cwgsdb1:~$ echo `TZ=$TZ+232 date`Friday, October 26, 2018 01:34:00 PM GMT

经过测试,该方法可以获取前一周内的时间。

oracle@cwgsdb1:~$ echo `TZ=$TZ+112 date`Sunday, October 21, 2018 09:35:08 PM localtimeoracle@cwgsdb1:~$ echo `TZ=$TZ+136 date`Saturday, October 20, 2018 09:35:24 PM localtimeoracle@cwgsdb1:~$ echo `TZ=$TZ+160 date`Friday, October 19, 2018 09:35:47 PM localtimeoracle@cwgsdb1:~$ echo `TZ=$TZ+184 date`Friday, October 26, 2018 01:35:57 PM GMT

4.solaries下使用perl命令获取历史时间

oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-15*24*60*60)'`20181011 213937oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time)'`20181026 213951oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-30*24*60*60)'`20180926 214011oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-40*24*60*60)'`20180916 214016

该方法的原理是通过调用strftime函数,使用当前时间减去N天的秒数N*24*60*60,获取当前时间或者往前N天的历史时间。

看完上述内容,你们掌握solaries中怎么利用date获取前一天日期的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

日期 方法 时间 历史 命令 内容 更多 问题 不对 束手无策 为此 函数 原因 原理 对此 技能 时区 格式 篇文章 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 株洲软件开发税务筹划有哪些方法 数据库有哪些大的 工业网络技术是什么专业 csgo韩国服务器维修 服务器做raid需要保存吗 数字视频监控的网络安全 枣庄crm软件开发 网络安全对滞纳金的规定 神武4服务器 江苏品杰互联网科技有限公司 怎样在手机上查配置数据库 数据库的代码改表的关键字 统数据库部署模式 网络安全教育幼儿园知识 网络安全中国区 clay粘土服务器噬梦箱在哪 软件开发法律服务 山东质量软件开发 衡阳帮助软件开发哪家好 杭州临安灵迅网络技术经营部 模拟分析你家网络安全隐患 河南互联网养老软件开发电话 桥头互联网科技有限公司 情报系统提供的是什么数据库 海鸥摇号软件开发商 眼镜行业软件开发的功能选择 天津市文旅局网络安全信息处 任何个人有权举报危害网络安全 校园网络安全分析及建议 计算机互联网软件开发
0