Suponha que eu tenha uma data específica armazenada em uma variável date_m
. Eu quero ((date_m)-25)
namorar
Por exemplo: eu 15/09/2014
armazenei na minha variável e desejo 21/08/2014
retornar se subtrair 25 da data armazenada na variável.
Com a implementação GNU de date
, para exibir a data de ontem, digite:
$ date --date="1 days ago"
OU
$ date --date="-1 day"
Para sua pergunta:
$ date --date="25 days ago"
OU
$ date --date="-25 day"
Para usá-lo com variáveis, você pode usar $()
:
pastDate=$(date --date="-25 day")
echo "$pastDate"
Para casos gerais n
e para uma data específica:
#!/bin/bash
date1="Tue Sep 2 07:53:47 EEST 2014"
echo "Before? "
read n
date --date="$date1 -$n day"
date
não analisa15/09/2014
como uma data válida.A seguir, a data e o número de dias são declarados.
O script vira as datas em segundos e calcula qual ponto de tempo 1 (
Tp1
) é se o número de dias (em segundos) for subtraído do ponto de tempo especificado 2 (Tp2
). No final, os segundos são convertidos novamente na data.fonte
15/09/2014
, não com o ano primeiro.Um pouco tardiamente, aqui está uma maneira de lidar com datas no formato dd / mm / aaaa fora dos EUA com o ajuste relativo de 25 dias:
Ele assume um shell como o
bash
que é capaz de lidar com um redirecionamento de string<<<
e o GNUdate
.fonte