O comando date
fará muito disso para você.
Por exemplo, 1 de novembro mais 3 semanas é date -j -v+3w -f"%m/%d/%y" "11/01/10"
Aqui estão alguns exemplos da página man:
O comando:
date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"
exibirá:
DATE: 1987-11-21
TIME: 13:36:16
No fuso horário Europa / Londres, o comando:
date -v1m -v+1y
exibirá:
Sun Jan 4 04:15:24 GMT 1998
onde é atualmente Mon Aug 4 04:15:24 BST 1997.
O comando:
date -v1d -v3m -v0y -v-1d
exibirá o último dia de fevereiro do ano 2000:
Tue Feb 29 03:18:00 GMT 2000
Então, vamos fazer o comando:
date -v30d -v3m -v0y -v-1m
porque não há data como 30 de fevereiro.
O comando:
date -v1d -v+1m -v-1d -v-fri
exibirá a última sexta-feira do mês:
Fri Aug 29 04:31:11 BST 1997
onde é atualmente Mon Aug 4 04:31:11 BST 1997.
O comando:
date 0613162785
define a data para '' 13 de junho de 1985, 16:27 ''.
date "+%m%d%H%M%Y.%S"
pode ser usado em uma máquina para imprimir a data adequada para configuração em outra.
O comando:
date 1432
define a hora para 2:32 PM, sem modificar a data.
Finalmente, o comando:
date -j -f "%a %b %d %T %Z %Y" "'date'" "+%s"
pode ser usado para analisar a saída da data e expressá-la no tempo da Época.