Last modified: Nov. 18, 2011
Contents
1 - Summary
2 - FreeBSD
3 - Linux
4 - OpenBSD
5 - Solaris
6 - Windows
1 - Summary
This guide will show you how to display the previous date which is useful when
writing scripts. This has been tested in FreeBSD, Linux, Solaris and Windows
XP, 2003 and 2008.
2 - FreeBSD
Here is a script that displays the previous date.
#!/bin/sh
date=/bin/date
echo=/bin/echo
date_set=`$date -v -1d +%m/%d/%y`
$echo Previous date: $date_set
exit 0
3 - Linux
Here is a script that displays the previous date.
#!/bin/sh
date=/bin/date
echo=/bin/echo
date_set=`$date --date='-1 day' +%m/%d/%y`
$echo Previous date: $date_set
exit 0
4 - OpenBSD
Here is a script that displays the previous date.
#!/bin/sh
date=/bin/date
echo=/bin/echo
date_set=`TZ="GMT+24" $date +'%m/%d/%y'`
$echo Previous date: $date_set
exit 0
5 - Solaris
Here is a script that displays the previous date.
#!/bin/sh
date=/usr/bin/date
echo=/usr/bin/echo
date_set=`TZ="GMT+24" $date +'%m/%d/%y'`
$echo Previous date: $date_set
exit 0
6 - Windows
Here is a script that displays the previous date. A few things are needed for
this to work. You will need the date and cut utilities from the GnuWin32
website located at http://gnuwin32.sourceforge.net/. These utilities are part
of CoreUtils. The dependencies zip file is also needed.
@echo off
set date="C:\Program Files\System Utilities\bin\date.exe"
set cut="C:\Program Files\System Utilities\bin\cut.exe"
%date% --date="-1 day" --iso-8601 > %previous_date_results%#
for /f "tokens=1" %%x in (%previous_date_results%#) do (set previous_date=%%x)
del /f /q # > nul 2>&1
echo %previous_date% | %cut% -d - -f 2 > %month_results%#
for /f "tokens=1" %%x in (%month_results%#) do (set month=%%x)
del /f /q # > nul 2>&1
echo %previous_date% | %cut% -d - -f 3 > %day_results%#
for /f "tokens=1" %%x in (%day_results%#) do (set day=%%x)
del /f /q # > nul 2>&1
echo %previous_date% | %cut% -d - -f 1 > %year_results%#
for /f "tokens=1" %%x in (%year_results%#) do (set year=%%x)
del /f /q # > nul 2>&1
set date_set=%month%/%day%/%year%
echo Previous date: %date_set%
pause
exit
|