千家信息网

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

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,solaries中怎么利用date获取前一天日期,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.Linux系统下获取历史日期的方法获取
千家信息网最后更新 2025年12月02日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安全错误 数据库的锁怎样保障安全 找网络技术人员追钱 河北大数据网络技术服务哪家好 通用网络技术咨询售后服务 dw文件上传到服务器 计算机网络技术逻辑要求高 ktv视频服务器断网是什么问题 自己电脑当做服务器 敏捷软件开发 原则... 分布式存储物理服务器副本 我的世界梦世界服务器组团指令 计算机网络技术答案李荣利 黑月服务器怎么挤进去 xshell重启远程服务器命令 面试官问的布置服务器是什么意思 数据库常用的违约处理包括置空 数据库安全之商业银行 用到服务器的引流程序 逆战网络波动与服务器连接异常 福建共赢软件开发公司 北京高校党建软件开发系统 昌平二手服务器回收价钱 浦东新区智能软件开发质量保障 2021年网络安全技术对抗赛 网络安全分为两大方面 软件开发oss是什么 服务器进程管理 奉贤区直销软件开发定做价格 群策群力共筑网络安全 郧阳区互联网软件开发专业服务 浪潮服务器无法识别磁盘阵列
0