jcgj.net
当前位置:首页 >> shEll 时间格式化 >>

shEll 时间格式化

date +%s 可以得到UNIX的时间戳; 用shell将时间字符串与时间戳互转: date -d "2010-10-18 00:00:00" +%s 输出形如:1287331200 而时间戳转换为字符串可以这样做: date -d @1287331200 "+%Y-%m-%d" 输出形如:2010-10-18 如果需要得到指定日期...

date +%s 可以得到UNIX的时间戳; 用shell将时间字符串与时间戳互转: date -d "2010-10-18 00:00:00" +%s 输出形如:1287331200 而时间戳转换为字符串可以这样做: date -d @1287331200 "+%Y-%m-%d" 输出形如:2010-10-18 如果需要得到指定日期...

Linux系统下的格式为:date +%Y%m%d -d "+1days" AIX 系统下的格式为:TZ=TZ-24 date +%Y%m%d

如果只减去一天的话,直接写就可以了。 #date -d"yesterday 20150401" +%Y%m%d如果要减去几天,还可以这样写,如果用负数是往前数, #date -d"10 day ago 2015-04-01" +%Y-%m-%d

var=`date +%Y%m%d` echo $var 你可以执行一下上面的命令,` 不是单引号,是数字键1前面的那个键。 第一句是把date +%Y%m%d这条命令的结果赋值给变量var, 第二句是显示变量var的内容

后面echo之前把下面这行再执行一遍不就行了: LOG_TIME=`date +%H:%M:%S` 这只是一个变量而已,你不给他赋值他怎么会自己变化呢?

[root@-xl ~]# sed -i "s/$a/$b/g" 1.sh

#!/bin/bash read -p "please enter the date: " date if [[ $date =~ "[0-9]{2}/[0-9]{2}/[0-9]{4}" ]] then echo "today is:${date:0:2} month is:${date:3:2} year is:${date:6:4}" else echo "wrong date" fi 我没有对日期范围做校验,你可...

通常date的输出格式和你本机的语言设置相关,比如英文的: Sun Sep 18 15:54:49 CST 2016 也有可能是中文的: 2016年 09月 18日 星期日 15:55:08 CST 所以最好直接指定好你需要的格式,比如 date +%F" "%T 就是输出 2016-09-18 15:55:44 即YYYY-...

取给定月份的第一天不难,取最后一天用如下方法: yearMonth=$1 #从脚本的第一个参数取得a=${yearMonth}"01" #第一天的日期month=${yearMonth:4:2}year=${yearMonth:0:4}lastDay=`cal $month $year | awk '/[0-9]+/{a=$NF}END{print a}'`b=${yea...

网站首页 | 网站地图
All rights reserved Powered by www.jcgj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com