Outputting Dates in EasyLanguage
This article gives some tips and examples for outputting dates in EasyLanguage.
Relevant EasyLanguage Date reserved words
Just as a reminder, the following Date reserved words are often used in working with dates:
Date, which returns the Date of the current bar in YYYMMdd format. This date format is always the format with which a date calculation starts.
CurrentDate, returns the current computer date in YYYMMdd format.
ELDateToDateTime, converts a date in YYmmdd format to a date into DateTime format.
See the Date & Time Routines for all EasyLanguage reserved words.
Outputting the date
The following example prints the current date to the PowerLanguage Editor log:
Print("The current date is: ", CurrentDate);
Which returns the following sentence: The current date is: 1120127.00.
To output the date in a more readable format, the reserved word
FormatDate is needed. However, FormatDate requires that the date is in DateTime format, while the default Date is in YYYMMdd format. So, a conversion to DateTime is needed first. This is done with the
ELDateToDateTime reserved word.
The code example below shows in detail which steps needs to be made.
Variables: dateToday(0), dateInDateTimeFormat(0), dateReadable(""); // 1. Assign the date of today to the variable 'dateToday' dateToday = CurrentDate; Print("The current date in YYYMMdd format is: ", dateToday, NewLine); // 2. Now, convert the date to DateTime format dateInDateTimeFormat = ELDateToDateTime(dateToday); Print("The current date in DateTime format is: ", NumToStr(dateInDateTimeFormat, 5), NewLine); // 3. Now we can print the current date in a more readable format dateReadable = FormatDate("dd-MM-yyyy", dateInDateTimeFormat); Print("The current date in a readable format is: ", dateReadable);
This returns the following:
The current date in YYYMMdd format is: 1120127.00 The current date in DateTime format is: 40935.00000 The current date in a readable format is: 27-01-2012
Of course, not all these steps are needed. The extensive above example can be rewritten to simply:
Print("The current date in a readable format is: ", FormatDate("dd-MM-yyyy", ELDateToDateTime(CurrentDate)));
The current date in a readable format is: 27-01-2012
Outputting the date in different formats
FormatDate reserved word has a parameter string by which different date outputs can be generated. For example, in the code above we used "dd-MM-yyyy" to return "27-1-2012".
The code example below shows some of these parameter options for FormatDate (see the
FormatDate article for an extensive list of parameter options).
Variables: dateInDateTime(0); dateInDateTime = ELDateToDateTime(CurrentDate); Print("Date in short version: ", FormatDate("d-M-y", dateInDateTime), NewLine); // Note: the output of the following statement depends on your regionale Print("Date in abbreviations: ", FormatDate("ddd-MMM-yy", dateInDateTime), NewLine); Print("Date fully written: ", FormatDate("dddd MMMM yyyy", dateInDateTime), NewLine); Print("Date in a sentence: ", FormatDate("The current Date is dddd anD the month is MMMM (which is month #MM). The Year is yyyy.", dateInDateTime)); end;
This gives the following output:
Date in short version: 27-1-12 Date in abbreviations: vr-jan-12 Date fully written: vrijdag januari 2012 Date in a sentence: The current Date is vrijdag anD the month is januari (which is month #01). The Year is 2012.