求助一个简单脚本,关于日期

发布于 2022-09-08 02:48:48 字数 126 浏览 4 评论 8

我想得到昨天的日期信息
rundate=`date +%Y%m%d`
echo $rundate
得到是今天的时间,比如20101117
但我想得到昨天的日期,20101116,脚本里应该怎么写啊,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

错々过的事 2022-09-12 02:58:26

#!/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

心碎无痕… 2022-09-12 02:55:56

没看懂啊 ,,,

情徒 2022-09-12 01:52:31

#!/usr/bin/bash

Yesterday=` perl -e 'use POSIX qw(strftime);print strftime "%Y%m%dn", localtime( ...
小鹭 发表于 2010-11-17 20:50

成功,高手啊,谢谢小鹭!

尛丟丟 2022-09-12 00:45:53

#!/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

把梦留给海 2022-09-11 21:46:20

同求答案。不懂脚本

墨小墨 2022-09-11 19:10:45

-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,谢谢哥们

会发光的星星闪亮亮i 2022-09-09 06:10:42

本帖最后由 public_sd 于 2010-11-17 17:21 编辑

两种方法,任选一个,

1,如果你有gawk
date "+%Y %m %d 00 00 00"| gawk '{a=mktime($0);print strfti ...
小鹭 发表于 2010-11-17 17:08

呵呵,对脚本实在是门外汉,不知道redhat或aix上你说的那两位大侠是否都有还是需要安装
在HP-UX找到perl了,请看下一条回复

上课铃就是安魂曲 2022-09-09 04:19:21

两种方法,任选一个,

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"'

如果什么都没有,这个机器可能太老了。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文