【问题标题】:Shell script to increment hour in date-time用于在日期时间中增加小时的 Shell 脚本
【发布时间】:2016-08-25 15:33:58
【问题描述】:

谁能帮我只添加以下日期/时间格式的小时部分:

例如,从 8 月 20 日上午 10:00 开始

2016-08-20-10

我只想增加小时部分,这样我得到:

2016-08-20-11
2016-08-20-12
2016-08-20-13
etc.

在指定日期停止,例如 2016-08-21-08

【问题讨论】:

  • 欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布代码并准确描述问题之前,我们无法有效地帮助您。 StackOverflow 不是编码或教程服务。
  • 为什么需要递归完成?一个简单的迭代循环应该可以为您完成这项工作。
  • 我的意思是迭代,但我的大脑认为是递归的。感谢指正

标签: shell date datetime


【解决方案1】:

我找到了自己问题的解决方案。见下文:

date=(2016-08-23-0 2016-08-23-1 2016-08-23-2 2016-08-24-0 2016-08-24-1 2016-08-24-2)
date_arr=(2016-08-23-2 2016-08-24-2)

for ((i=0; i<"${#date[@]}"; i++))
   do
       if [[ " ${date_arr[*]} " == *"${date[i]}"* ]]
         then
            for ((j=0; j<=3; j++))
            do
                    echo "${date[i]}$j"
            done
       else
            for ((k=0; k<=9; k++))
            do
                    echo "${date[i]}$k"
            done
       fi
   done

【讨论】:

    猜你喜欢
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2014-09-29
    • 2019-02-22
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多