【问题标题】:Figure out Time Remaining in Linux找出 Linux 中的剩余时间
【发布时间】:2012-07-06 13:59:57
【问题描述】:

好的,所以我现在的情况是,我想确切地计算出距离特定日期(例如 2013 年 5 月 15 日)还有多少天。日期并不重要,但我的想法是计算出金额距离那一天还有多少天。

我想过做这样的事情(伪代码):

y=$end_year-$cur_year

if [ y -ge 1 ]; then
   days=$y*365
else
     continue
fi

if [ $end_month -gt $cur_month ]; then
     m=$end_month-$cur_month
else
     contine
fi

if [ $end_day -gt $cur_day ]; then
    d=$end_day-$cur_day
else
    continue
fi

result=$days+$m+$d

现在我不知道是否有更简单的方法可以做到这一点,因为我对 Linux 和 shell 脚本非常陌生,所以如果有更好的方法,请帮助我。

【问题讨论】:

    标签: linux shell unix


    【解决方案1】:

    这个是根据unix时间戳的差来计算的:

    date
    Fri Jul  6 15:04:04 BST 2012
    echo $(( (`date -d "May 15, 2013" +'%s'` - `date +'%s'`) / (60*60*24) ))
    312
    

    部门已满,因此如果将一小部分天算作一整天,则必须添加 1

    【讨论】:

      【解决方案2】:
      [06 Jul 2012 18:13:47] rush@home  ~
      $ DIFF=$(( $(date -d '05/15/2013 00:00' +%s) - $(date +%s) )) ; \
        echo $(( DIFF / (3600*24) )) days $(( DIFF % (3600*24) / 3600 )) \
        hours $(( DIFF % 3600 / 60 )) minutes $(( DIFF % 60 )) seconds left
      312 days 5 hours 46 minutes 13 seconds left
      

      【讨论】:

        猜你喜欢
        • 2011-03-09
        • 1970-01-01
        • 2021-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-22
        • 1970-01-01
        • 2020-09-25
        相关资源
        最近更新 更多