当前位置:首页 » 编程软件 » shell脚本获取当前时间

shell脚本获取当前时间

发布时间: 2023-06-16 09:45:57

linux下用shell获取指定文件的最后修改时间并与系统时间比对,如果相差时间超过3分钟则执行另一个脚本

使用date命令加上合适的时间格式化字符串(+%s),会显示当前时间(或-d参数指定的时间)与1970-01-01 00:00:00相差的秒数(详细可以参考date的man手册)

所以基本想法就是使用date命令分别获取当前时间与文件修改时间的秒数,然后看这2个秒数之间是否有相差180秒以上。

获取当前时间比较简单,直接date +%s就ok了

下面看看如何获取文件时间

使用stat 命令后面跟一个文件名可以获取文件的状态,包括文件修改时间。其中文件修改时间会单独一行显示,格式如下:Modify: 2013-02-21 17:58:05.404876407 +0800 (具体的精度可能系统不同略微有些差别,但大致格式是这样)

所以我们可以stat myfilename | grep Modify来获取文件的修改时间的信息,然后通过awk分别获取时间的日期和时间段

stat myfilename | grep Modify | awk '{print $2}' #这句获取了日期段,即上面例子里面的2013-02-21

stat myfilename | grep Modify | awk '{split($3,var,".");print var[1]}' #这句获取了时间段,即上面例子里面的17:58:05,具体关于awk的使用可以参考awk的使用手册

那么现在可以获取文件修改时间与1970-01-01 00:00:00相差的描述了,就是date -d "$file_date $file_time" +%s

那么这个时间与当前时间想减的结果与180相比就可以知道是否满足条件了,满足条件的话就可以执行相应的命令。

参考代码如下:

current_datetime=`date +%s`
filedate=`stat tt.txt | grep Modify | awk '{print $2}'`
filetime=`stat tt.txt | grep Modify | awk '{split($3,var,".");print var[1]}'`
file_datetime=`date -d "$filedate $filetime" +%s
timedelta=`expr $current_datetime - $file_datetime`
if [ "$timedelta" -gt "180" ];then
echo "match condition"
fi

㈡ linux中shell脚本在获取当前系统时间减去一个小时怎么写

`date -d "-1 hours" +\%Y\%m\%d`
注意写在脚本里面的时候,那个百分号要转义,不然的会出错

㈢ shell脚本计算时间

TIME_INPUT=`date -d "00:00" +%s`
通过时间戳来计算
nowtime=`date +%s`
shijiancha=`expr $nowtime - $TIME_INPUT`
if [ $shijiancha -gt 180 ];then
echo 3分钟前

else
if [ $shijiancha -lt -180 ];then

echo 3分钟后

fi

fi

㈣ Linux:shell脚本中如何获取当前时间年月日、时分秒

自己看下man page

man date

㈤ shell脚本中时间戳问题

获取时间戳:date +%s

精确到毫秒:echo $[$(date +%s%N)/1000000]

from:网页链接

㈥ shell脚本关于时间的判断

这个用linux的date命令就可以实现,主要是判断当前的小时是否位于0晨就可以。代码大致如下:

#!/bin/sh
currentHour=$(date +%H)
if [ $currentHour -eq 00 ]
then
currentTime=$(date +%s);
tmp=$(($currentTime-3600));
echo $(date -d "@$tmp" +%Y-%m-%d);
else
echo $(date +%Y-%m-%d);
fi

㈦ 在shell中怎么获取当前日期和时间

获得当天的日期:[root@master~]#date+%Y-%m-%d

有时候需要使用今天之前或者往后的日期,这时可以使用date的 -d参数。

获取明天的日期:date-dnext-day+%Y%m%d

获取昨天的日期:date-dlast-day+%Y%m%d

获取上个月的年和月:date-dlast-month+%Y%m

获取下个月的年和月:date -d next-month +%Y%m

获取明年的年份:date -d next-year +%Y

(7)shell脚本获取当前时间扩展阅读

时间域参数:

时间域参数用于格式化输出日期,相关时间域参数如下:

% H 小时(00…23)

% I 小时(01…12)

% k 小时(0…23)

% l 小时(1…12)

% M 分(00…59)

% p 显示出AM或PM

% r 时间(hh:mm:ss AM或PM),12小时

% s 从1970年1月1日00:00:00到目前经历的秒数

% S 秒(00…59)

热点内容
行李箱的密码锁哪里修 发布:2025-02-08 23:58:14 浏览:531
c语言字母ascii码表 发布:2025-02-08 23:55:49 浏览:838
笔记本电脑一般存储空间 发布:2025-02-08 23:51:15 浏览:835
php网站优化 发布:2025-02-08 23:49:41 浏览:455
php网页打印 发布:2025-02-08 23:40:02 浏览:820
windowssmb无法访问 发布:2025-02-08 23:33:28 浏览:467
python27编译器 发布:2025-02-08 23:29:20 浏览:339
如何运行python代码 发布:2025-02-08 23:28:15 浏览:692
新箱子密码锁怎么设置 发布:2025-02-08 23:26:50 浏览:148
安卓如何可以看见被撤回的消息 发布:2025-02-08 23:19:17 浏览:798