首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Unix (AIX)中获取今天的日期减去一年

在Unix (AIX)中获取今天的日期减去一年
EN

Stack Overflow用户
提问于 2018-06-22 05:01:05
回答 1查看 998关注 0票数 0

我需要找到今天的日期,然后减去一个年份,并将该日期格式化为YYYY-MM-dd格式。

我可以通过我编写的脚本来实现这一点,但显然它只与bash兼容。我需要它与AIX兼容。

代码语言:javascript
复制
lastYear=`date +'%Y-%m-%d' -d 'last year'`
searchDate="$lastYear 00.00.00";
echo "Retrieving data start from $searchDate"
myquery="myquery >= '$searchDate'"

当在AIX机器上运行时,结果是它只传递了$searchDate的"00:00:00“部分,日期没有像我希望的那样在时间之前加前缀。为了最大限度地兼容Linux/Unix变体,最安全的方式是什么?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-22 20:22:01

为什么要把它弄得这么复杂?

代码语言:javascript
复制
#!/bin/ksh

typeset -i year=$( date +%Y )
(( year -= 1 ))
typeset rest=$( date +%m-%d )
echo "${year}-${rest}"

这应该可以在任何shell中工作。如果使用sh,请替换

代码语言:javascript
复制
$( ... )

背部抽筋

代码语言:javascript
复制
` ... `

但是对于bash和ksh,我使用$( ... ) --这只是个人喜好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50977366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档