bash - 使用 date 命令获取下个月?

标签 bash date

我的一个脚本中就有这个,我确信它已经工作了很长时间。今天它说下个月是五月?

#date
Mon Mar 31 15:30:13 BST 2014

#date +"%B %Y" --date="+1 month"
May 2014

任何人都知道问题出在哪里 - 是否有更好的“下个月”脚本我应该使用?

最佳答案

来自GNU手册页:

The fuzz in date units can cause problems with relative items. For example, ‘2003-07-31 -1 month’ might evaluate to 2003-07-01, because 2003-06-31 is an invalid date. To determine the previous month more reliably, you can ask for the month before the 15th of the current month

您可以使用所有月份中都存在的一天:

date +"%B %Y" --date="$(date +%Y-%m-15) next month"

结果:

April 2014

关于bash - 使用 date 命令获取下个月?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22764358/

相关文章:

linux - 为什么它不通过管道传输到 cd 命令?

java - Kotlin 对 VS Code 中的所有内容都会抛出错误

java - 如何在 YMDHMS (ISO 8601) 中获取两个日期/时间之间的持续时间

shell - 使用 AWK 验证 if 循环条件中的日期格式

ios - 如何为 Java 和 Objective C 获得相同的毫秒数

linux - 如何使用 shell 解析 diskstats 并以 JSON 格式输出?

bash - 是否有用于遍历相似目录结构的 Bash 快捷方式?

php - 使用 PHP 应用程序使用 .sh 文件创建用户和数据库

java - 如何在java中检测日期是在本周内还是下周内?

java - java.util.Calendar 的默认时区是什么?