关于SHELL脚本中日期大小的比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于SHELL脚本中日期大小的比较相关的知识,希望对你有一定的参考价值。
在一个目录中有很多以当前日期为命名的文件夹(举例:20130801),我想实现把7天之前的文件夹全部删掉..请问具体怎么实现?
参考技术A 1、既然按照当前日期,创建的,那么应该可以根据系统给的时间戳为属性,完成操作即可。2、根据你的说法山掉7天谴的文件夹,那么应该是7天前建立的文件夹进行删掉所以用ctime。
find ./ -ctime +7 -exec rm -rf \; 参考技术B #!/bin/sh
find /path/you/want/to/delete -type d -mtime +7 -exec rm -r \;
把上面的写入到一个脚本里,如/usr/local/bin/del.sh
chmod +x /usr/local/bin/del.sh
把下面这行加入到cron job里:
0 1 * * * /usr/local/bin/del.sh本回答被提问者采纳
js关于日期比较大小
for(var i=0;i<shijian.length;i++)
var beginDate= shijian[i];
var endDate=new Date().Format("yyyy-MM-dd hh:mm:ss.S");
var d1 = new Date(beginDate.replace(/\-/g, "\/"));
var d2 = new Date(endDate.replace(/\-/g, "\/"));
if(beginDate!=""&&endDate!=""&&d2 > d1)
alert("不能选择已过期的信息");
return;
这样比较的话在 googol浏览器可以 但是在IE 和 火狐就不行 谁知道原因
var d1 = Date.parse('2014-09-28 19:00:00'),
d2 = Date.parse('2014-09-28 2:00:00');
console.log(d1 > d2);追问
还是不行 IE依然可以
追答IE下把日期格式转成 2014/9/28 这种格式的试试,实在不行就取new Date(xxx).getTime()进行比较 参考技术B 传入的日期参数为yyyy-mm-dd格式,a大于b返回false,a小于等于b返回true。
function compare_time(a,b)
var arr=a.split("-");
var starttime=new Date(arr[0],arr[1],arr[2]);
var starttimes=starttime.getTime();
var arrs=b.split("-");
var endtime=new Date(arrs[0],arrs[1],arrs[2]);
var endtimes=endtime.getTime();
if(starttimes>endtimes)//开始大于结束
return false;
else
return true;
参考技术C var a = new Date('2014-09-28 19:00:00')
var b = new Date('2014-09-28 19:00:01')
console.log(a.getTime() > b.getTime())
以上是关于关于SHELL脚本中日期大小的比较的主要内容,如果未能解决你的问题,请参考以下文章