SHELL列印兩個日期之間的日期

2022-07-03 19:21:12 字數 1525 閱讀 5061

[root@umout shell]# cat date_to_date.sh    

this_path=$(cd `dirname $0`;)

cd $this_path

##要求傳入的資料格式為yyyymmdd的兩個開始和結束引數,如20170201 20170310

start_input=$1

end_input=$2

##將輸入的日期轉為的時間戳格式

startdate=`date -d "$" +%s`

enddate=`date -d "$" +%s`

##計算兩個時間戳的差值除於每天86400s即為天數差

stampdiff=`expr $enddate - $startdate`

daydiff=`expr $stampdiff / 86400`

##根據天數差迴圈輸出日期

for((i=0;i<$daydiff;i++))

do process_date=`date -d "$ $i day" +'%y-%m-%d'`

echo $process_date

done

輸出:

[root@nq shell]# sh date_to_date.sh 20170201 20170310

... ...

2017-02-13

2017-02-14

2017-02-15

2017-02-16

2017-02-17

2017-02-18

2017-02-19

2017-02-20

2017-02-21

2017-02-22

2017-02-23

2017-02-24

2017-02-25

2017-02-26

2017-02-27

2017-02-28

2017-03-01

2017-03-02

2017-03-03

2017-03-04

... ...

[root@nq aabbcc]# cat time.sh 

#!/bin/sh

yesterday="2018-02-26"

enddate=`date -d "$" +%s`

# 777600 9天前的時間

startdate=777600

# 獲取時間中間的差

stampdiff=`expr $ - $`

# 時間的開始點

aa=$(date +%y%m%d -d "1970-01-01 utc $ seconds")

bb=$(date +%y%m%d -d "1970-01-01 utc $ seconds")

echo $

echo $

輸出:

20180217

20180226

兩個日期之間的天數

被csdn各種大牛打擊的.繼續加油.今天翻了下 程式設計珠璣 其實這本書感覺對自己還是有點深,吃不透啊。看到一題,有一小問是給定兩個日子,計算這兩個日子的天數 碰巧前幾天做web作業也有差不多這題的,不過那一題直接呼叫系統函式的,兩個日期一減 1000 60 60 24就是天數了 c中還真不知道有沒...

獲取兩個日期之間天數

本人根據開發經驗,目前總結了3種方法 第一種 根據兩個日期間毫秒數計算,同理任何日期型別都可以轉換為對應的毫秒數 public static int daysbetween long time1,long time2 第二種 jdk8 localdate提供了toepochday 方法 1 將日期d...

Java 計算兩個日期之間的差 年 月 日

在專案中有這樣的需求 需要顯示剩餘的年月日。如下表 起始時間 截至期 有效期 2011 01 01 2013 12 31 3年 2011 01 01 2011 01 01 1天 處理平台的時間轉換 author alf 2011 8 31 上午09 21 39 public class dateha...