All existing SAS datetime formats, as for as I know, is not easy for me to read.
Such as 1447213759 datetime with datetime21.2 format will be shown as 10NOV2005:03:49:19.00.
And I have to define a new format as below to make it looks like 2005-11-10 03:49:19.
PROC FORMAT;
picture MyDT other='%0Y-%0m-%0d %0H:%0M:%0S' (datatype=datetime);
RUN;
Then I will have to define the format in all my sas codes, otherwise, the dataset I created with this format will not be shown correctly.
I really want to know why SAS does not create a more readable datetime format like the one above.
I can't answer your question, but I really like your code snippet! I printed it out and posted it at my desk.
Look at the E8601 family of formats, they implement the ISO 8601 norm.
@jjjch wrote:
All existing SAS datetime formats, as for as I know, is not easy for me to read.
Such as 1447213759 datetime with datetime21.2 format will be shown as 10NOV2005:03:49:19.00.
And I have to define a new format as below to make it looks like 2005-11-10 03:49:19.
PROC FORMAT;
picture MyDT other='%0Y-%0m-%0d %0H:%0M:%0S' (datatype=datetime);
RUN;
Then I will have to define the format in all my sas codes, otherwise, the dataset I created with this format will not be shown correctly.
I really want to know why SAS does not create a more readable datetime format like the one above.
Put the Format in a permanent library and then have that library in the format search path.
Or put the code into the autoexec.sas so it is available in every session.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.