solaries使用date获取前一天日期,使用perl命令获取历史时间方法
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%d date: illegal option -- d usage: date [-u] mmddHHMM[[cc]yy][.SS]date [-u] [+format]date -a [-]sss[.fff]
显然不支持,不过可以格式化当前日期输出
oracle@cwgsdb1:~$ date +%Y%m%d 20181026
3.solaries下的date命令获取前一天日期
oracle@cwgsdb1:~$ echo `TZ=$TZ date` Friday, October 26, 2018 09:29:57 PM CST oracle@cwgsdb1:~$ echo `TZ=$TZ+16 date` Thursday, October 25, 2018 09:30:11 PM localtime oracle@cwgsdb1:~$ date Friday, October 26, 2018 09:31:00 PM CST oracle@cwgsdb1:~$ echo `TZ=$TZ+24 date` Thursday, October 25, 2018 01:31:55 PM localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+40 date` Wednesday, October 24, 2018 09:31:59 PM localtime oracle@cwgsdb1:~$ echo $TZ localtime
中国的时区是 +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 localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+136 date` Saturday, October 20, 2018 09:35:24 PM localtime oracle@cwgsdb1:~$ echo `TZ=$TZ+160 date` Friday, October 19, 2018 09:35:47 PM localtime oracle@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 213937 oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time)'` 20181026 213951 oracle@cwgsdb1:~$ echo `perl -MPOSIX -le 'print strftime "%Y%m%d %H%M%S", localtime(time-30*24*60*60)'` 20180926 214011 oracle@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天的历史时间。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31394774/viewspace-2217737/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31394774/viewspace-2217737/
solaries使用date获取前一天日期,使用perl命令获取历史时间方法相关推荐
- 获取前一天日期(应对跨月取日期问题)
获取今天的日期 -(NSString *)getDate{ NSDateFormatter*formatter = [[NSDateFormatteralloc]init]; [formatter s ...
- 获取指定日期的第二天的凌晨时间 和获取指定时间+获取指定的天数的日期
获取指定日期的第二天的凌晨时间代码如下: package cn.migu;import java.text.ParseException; import java.text.SimpleDateFor ...
- JS获取/格式化日期(附JS获取昨日、今日、上周、本周、上月、本月方法)
JS中处理日期时间常用Date 对象,故本文将依次按照 创建Date对象 -> 获取日期时间 -> 格式化日期时间 的顺序进行讲解,且已封装好格式化日期等方法可直接使用.若有不正请多指教. ...
- [获取手机信息]-通过 ADB 命令获取手机信息
################################################## 目录 通过 ADB 命令获取手机信息 ADB 常用查看命令 使用 -l 查看设备详细信息 查看机型 ...
- 用计算机获取信息,学会用CMD命令获取计算机的所有信息,菜鸟头衔马上崩塌
提到windows操作系统,相信大家一点都不陌生,它以96.2%的市场份额,在全世界稳居操作系统榜首.其中,仅仅windows 10就已经占领了半壁江山.就连早在2001年发布的windows xp, ...
- mysql获取前一天日期_mysql中获取当前时间的前一天
在日志中,经常需要获取当天的或者前一天的数据 当前时间前一天 :SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY); 当天: select * from user wh ...
- 根据当前日期获取前一天日期-小工具
前言:最近在做Hive数据中台的项目,关于Hive分区部分需要在前端定义,且需要满足日期自定义,日期随定时任务自动填充. 功能描述:用户在数据中台定义定时任务,任务需要按照指定时间启动,并且获取指定分 ...
- sql server 中获取前一天日期_图解SQL面试题:如何比较日期数据?
[题目] 下面是某公司每天的营业额,表名为"日销"."日期"这一列的数据类型是日期类型(date). 请找出所有比前一天(昨天)营业额更高的数据.(前一天的意 ...
- sql server 中获取前一天日期_图解面试题:如何比较日期数据?
[题目] 下面是某公司每天的营业额,表名为"日销"."日期"这一列的数据类型是日期类型(date). 请找出所有比前一天(昨天)营业额更高的数据.(前一天的意 ...
最新文章
- oracle找到引起账户锁定的ip,Oracle 找到引起账户锁定的IP
- python format 格式化函数的用法 格式化字符串(保留小数{:.2f}、数字补零)
- 渗透测试报告标准编写
- 【BZOJ3894】文理分科
- (原創) 今天拿到學生證了 (日記)
- Building JavaScript Games for Phones Tablets and Desktop(3)-创造一个游戏世界
- oracle事务重要属性,Oracle中的事务(2)--属性和隔离级别
- python扫雷游戏课程设计小组任务计划与分配表_Python开源扫雷游戏由网瘾少年制作,转手后月入18K,附赠所有源文件...
- 95-190-040-源码-window-Session Window
- matlab 求正交补,机器人动力学(一)空间向量(Spatial Vectors)简介
- mac更新之后vmware fusion下vmware tools报错
- jQuery ui widget和jQuery plugin的实现原理简单比较
- 计算机三级数据库应用题设计题,计算机考试三级数据库练习题
- 下拉列表dropdown取消默认点击隐藏及修复需要二次点击的方法
- 保险场景化与场景即保险——新保险
- Poi Excel 设置列宽计算公式
- mysql explain 性能分析_MySQL性能分析(Explain)
- 不用action提交表单——JS实现
- MOS管驱动电路隔离技术
- 阿里云——专有网络VPC