변수에 특정 날짜가 저장되어 있다고 가정해 보겠습니다 date_m
. 나는 ((date_m)-25)
데이트를 원해요.
예: 15/09/2014
변수에 저장한 다음 21/08/2014
변수에 저장된 날짜에서 25를 빼면 그 값을 반환하고 싶습니다.
답변1
GNU 구현을 사용하여 date
어제 날짜를 표시하려면 다음을 입력하십시오.
$ date --date="1 days ago"
또는
$ date --date="-1 day"
귀하의 질문에 대해:
$ date --date="25 days ago"
또는
$ date --date="-25 day"
변수와 함께 사용하려면 다음을 사용할 수 있습니다 $()
.
pastDate=$(date --date="-25 day")
echo "$pastDate"
일반적인 n
날짜와 특정 날짜의 경우:
#!/bin/bash
date1="Tue Sep 2 07:53:47 EEST 2014"
echo "Before? "
read n
date --date="$date1 -$n day"
답변2
날짜와 요일은 아래에 공지됩니다.
스크립트는 날짜를 초 단위로 변환하고 Tp1
시점 1()에서 주어진 시점 2()로부터 일 수(초)를 뺀 값을 계산합니다 Tp2
. 마지막 초는 다시 날짜로 변환됩니다.
Date_m=2014/09/15
Days=25
Seconds=$(echo "$Days"*60*60*24| bc -l)
Tp2date=$(date -d "$Date_m" +%Y/%m/%d)
Tp2sec=$(date -d "$TD" +%s)
Tp1sec=$(echo "$TDsec"-"$Seconds"| bc -l)
Tp1date=$(date -d @$Tp1sec)
echo "$Tp1date"
답변3
조금 늦었습니다. 미국 이외의 dd/mm/yyyy 형식의 날짜를 25일 기준으로 조정하여 처리하는 방법은 다음과 같습니다.
date_m='15/09/2014'
date --date "$(IFS=/ read d m y <<<"$date_m"; echo "$m/$d/$y - 25 days")" +%d/%m/%Y
21/08/2014
문자열 리디렉션 및 GNU 를 bash
처리할 수 있는 쉘 과 같은 쉘이 있다고 가정합니다 .<<<
date