Tips & Tricks del giorno.
A volte in uno script può essere necessario sottrarre o eventualmente sommare un numero arbitrario di giorni e/o mesi e/o anni da una data;
Ecco l’esempio di una soluzione per la sottrazione; per l’addizione é sufficiente invertire il segno di ciascuna variabile.
Versione Bash:
# ---------------------------------------------------------------------------------- # - Script file name : subtractdate.sh # - Author : NM # - DNS administrator : NM - Tel. xxx, Mobile: xxx - # - Create : 28.12.2009 # - Last Update : 28.12.2009 # - Description : Sottrae n giorni dalla data attuale # - Position : /usr/local/script/ # - note : NON modificare senza AUTORIZZAZIONE dell'AMMINISTRATORE # ----------------------------------------------------------------------------------- #!/bin/bash DAYS=$1 MONTHS=$2 YEARS=$3 [ -z $DAYS ] && DAYS=0 [ -z $MONTHS ] && MONTHS=0 [ -z $YEARS ] && YEARS=0 RESDATE=$(date -d "$date -$DAYS days -$MONTHS months -$YEARS years" '+%d/%m/%Y') echo $RESDATE
Versione Powershell:
[CmdletBinding()] Param( [Parameter(Mandatory=$false)][int]$days, [Parameter(Mandatory=$false)][int]$months, [Parameter(Mandatory=$false)][int]$years ) Process { if (($days -eq $null) || ($days -eq "")) { $days=0 } if (($months -eq $null) || ($months -eq "")) { $months=0 } if (($years -eq $null) || ($years -eq "")) { $years=0 } $today = Get-Date return $($($today.AddYears(-$years).AddMonths(-$months)).AddDays(-$days)) }
Segui:
Se sei interessato ad altri vai alla sezione: Tips & Tricks