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.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.