求助一个简单脚本,关于日期
我想得到昨天的日期信息
rundate=`date +%Y%m%d`
echo $rundate
得到是今天的时间,比如20101117
但我想得到昨天的日期,20101116,脚本里应该怎么写啊,谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想得到昨天的日期信息
rundate=`date +%Y%m%d`
echo $rundate
得到是今天的时间,比如20101117
但我想得到昨天的日期,20101116,脚本里应该怎么写啊,谢谢!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
#!/bin/bash
echo "Date of day before today"
CurrentDateTime=`date +%Y-%m-%d %H:%M:%S`
QueryDate=`date --date "$CurrentDateTime 1 day ago" +%Y-%m-%d`
echo $QueryDate
echo "Date & time of day before today and 5 hours"
CurrentDateTime=`date +%Y-%m-%d %H:%M:%S`
QueryDateTime=`date --date "$CurrentDateTime 1 day 5 hour ago" +%Y-%m-%d %H:%M:%S`
echo $QueryDateTime
没看懂啊 ,,,
成功,高手啊,谢谢小鹭!
#!/usr/bin/bash
Yesterday=` perl -e 'use POSIX qw(strftime);print strftime "%Y%m%dn", localtime(time-86400)' `
echo $Yesterday
bash-3.00# date
Wed Nov 17 20:50:18 EST 2010
bash-3.00# ./test.sh
20101116
同求答案。不懂脚本
-bash-3.2# perl -e 'print scalar(localtime(time - 86400)), "n"'
Tue Nov 16 17:16:41 2010
-bash-3.2# date
Wed Nov 17 17:16:57 EAT 2010
rundate=`perl -e 'print scalar(localtime(time - 86400)), "n"' +%Y%m%d`
-bash-3.2# echo $rundate
Tue Nov 16 17:17:30 2010
这样不行啊,怎么出来20101116,谢谢哥们
本帖最后由 public_sd 于 2010-11-17 17:21 编辑
呵呵,对脚本实在是门外汉,不知道redhat或aix上你说的那两位大侠是否都有还是需要安装
在HP-UX找到perl了,请看下一条回复
两种方法,任选一个,
1,如果你有gawk
date "+%Y %m %d 00 00 00"| gawk '{a=mktime($0);print strftime("%F",a-1)}'
2, 如果你有perl
perl -e 'print scalar(localtime(time - 86400)), "n"'
如果什么都没有,这个机器可能太老了。。。