Unix 'Date' Manipulations

The Unix ‘date’ command can easily resolve many tricky date manipulations that pre-X required jumping thru handler hoops to script.

OS version: OS X

set mm to do shell script "date '+%m'"
--> "04"
set localDate to do shell script "date '+%x'"
-->"04/21/03"
set myTime to do shell script "date '+The hour here is:%n%I%PM %Z.'"
-->"The hour here is:
-->12PM CDT."

--Here is a handy list of date command arguments
(*
%a		abbreviated weekday name
%A 		full weekday name
%b 		abbreviated month name
%B 		full month name
%c 		shorthand for %X %x, the locale format for date and time
%d 		day of the month as a decimal number (01-31)
%e		same as %d but does not print the leading 0 for days 1 through 9
%F		milliseconds as a decimal number (000-999)
%H 		hour based on a 24-hour clock as a decimal number (00-23)
%I 		hour based on a 12-hour clock as a decimal number (01-12)
%j 		day of the year as a decimal number (001-366)
%m 	month as a decimal number (01-12)
%M 	minute as a decimal number (00-59)
%p 		AM/PM designation for the locale
%S 		second as a decimal number (00-59)
%w 	weekday as a decimal number (0-6), where Sunday is 0
%x 		date using the date representation for the locale
%X 		time using the time representation for the locale
%y 		year without century (00-99)
%Y 		year with century (such as 1990)
%Z 		time zone name (such as Pacific Daylight Time)
%z 		time zone offset in hours and minutes from GMT (HHMM)
*)