I prefer stamps in yyyymmdd and yyyymmdd_hhmmss formats (yyyy=4-digit year, mm=2-digit month, dd=2-digit day, hh=hour on 24-hour clock, mm=minute, ss=second) since these are readily sortable in chronological order.
SAS
*Create a picture format for making datetime stamps; proc format; picture dtstamp low-high='%Y%0m%d_%0H%0M%0S' (datatype=datetime); run; *Create a date and a datetime stamp macro variable; data _null_; *Use built in yyyymmdd format; call symput('datestamp',put(date(),yymmddn8.)); *Use custom picture format; call symput('datetimestamp',compress(put(datetime(),dtstamp.))); run; %put FYI: datestamp=&datestamp; %put FYI: datetimestamp=&datetimestamp; *Sample usage; data daily_extract_&datestamp; *blah blah blah; run; data hourly_extract_&datetimestamp; *blah blah blah; run;
Log says...
FYI: datestamp=20120717 FYI: datetimestamp=20120717_103230 NOTE: The data set WORK.DAILY_EXTRACT_20120717 has 1 observations and 0 variables. NOTE: The data set WORK.HOURLY_EXTRACT_20120717_103230 has 1 observations and 0 variables.
Obviously bundling that code up in a couple of macros (%datestamp and %datetimestamp) is the way to go.
Perl
use POSIX qw(strftime); my $datestamp = strftime("%Y%m%d", localtime); my $datetimestamp = strftime("%Y%m%d_%H%M%S", localtime); print "FYI: datestamp=$datestamp\n"; print "FYI: datetimestamp=$datetimestamp\n";
Output...
FYI: datestamp=20120717 FYI: datetimestamp=20120717_103230
C#
string datestamp = DateTime.Now.ToString("yyyyMMdd"); string datetimestamp = DateTime.Now.ToString("yyyyMMdd_HHmmss"); Console.WriteLine("FYI: datestamp={0}", datestamp); Console.WriteLine("FYI: datetimestamp={0}", datetimestamp);
Output...
FYI: datestamp=20120717 FYI: datetimestamp=20120717_103230
VB.NET
Dim datestamp As String = DateTime.Now.ToString("yyyyMMdd") Dim datetimestamp As String = DateTime.Now.ToString("yyyyMMdd_HHmmss") Console.WriteLine("FYI: datestamp={0}", datestamp) Console.WriteLine("FYI: datetimestamp={0}", datetimestamp)
Output...
FYI: datestamp=20120717 FYI: datetimestamp=20120717_103230