February 23, 2012

BASH Date

Recently I needed to use date formatting in some Bash scripts that I was writing. I was a little surprise on how hard it was to find how to add date and assign it to a variable.

Below are a couple of examples that I created to help others who are encountering the same issue. Here are a couple of Bash scripts and how to assign a date and manipulate the date too.

Note: There is a slight difference in date formatting between BSD and GNU. (OS X users take note on the BSD formatting.)

BSD:
#!/bin/bash
todaydate=$(date +"%B %d, %Y"")
yesterday=$(date -v -1d  +"%B %d, %Y")
lastmonth=$(date -v -1m  +"%B %d, %Y")
tomorrow=$(date -v +1d  +"%B %d, %Y")
lastyear=$(date -v -1y  +"%B %d, %Y")
ninetydaygoals=$(date -v +90d  +"%B %d, %Y")
echo "Yesterday was $yesterday"

GNU:
#!/bin/bash
todaydate=$(date +"%d/%b/%Y")
yesterday=$(date --date="-1 day" +"%B %d, %Y")
lastmonth=$(date --date="-1 month" +"%B %d, %Y"")
tomorrow=$(date --date="+1 day" +"%B %d, %Y"")
lastyear==$(date --date="-1 year" +"%B %d, %Y"")
ninetydaygoals=$(date --date="+90 day"  +"%B %d, %Y"")
echo "Yesterday was $yesterday"

Comments

Add your Comments

Feel free to leave a comment about this post.

- Feel Free to add HTML to your comment!