[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 765
  • Last Modified:

How do I convert a 6 position date format to a 10 position date format?

Hi All,

How do I convert the following date to a MM/DD/YYYY format?

112310 to 11/23/2010

Thanks,

SASnewbie
0
SASnewbie
Asked:
SASnewbie
  • 8
  • 7
1 Solution
 
theartfuldazzlerCommented:
Hi

Assuming the date is stored as text then:

DATA _NULL_;
  Old_date = '112310';
  SAS_Date = INPUT(Old_date, mmddyy.);
  New_date = PUT(SAS_Date, mmddyy10.);
  PUT _ALL_;
RUN;

Effectively, this ocde converts a text field to a SAS date, and then makes that SAS Date into a new text field in the format mm/dd/yyyy.

0
 
SASnewbieAuthor Commented:
Hi theartfuldazzler,

Thanks for responding so quickly.

Is there a way to keep the 'Old_date" name?
0
 
theartfuldazzlerCommented:
Hi

DATA _NULL_;
  Old_date = '112310';
  SAS_Date = INPUT(Old_date, mmddyy.);
  Old_date = PUT(SAS_Date, mmddyy10.);
  PUT _ALL_;
DROP SAS_Date;
RUN;
0
Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

 
theartfuldazzlerCommented:
Hi

You might have an issue with the length of the Old_Date.  If you place a format statement before the SET statement, it should work.


DATA _NULL_;
format Old_Date $10.;
  Old_date = '112310';
  SAS_Date = INPUT(Old_date, mmddyy.);
  New_date = PUT(SAS_Date, mmddyy10.);
  PUT _ALL_;
RUN;
0
 
SASnewbieAuthor Commented:
Thanks,
Let me try it and be right back.
0
 
SASnewbieAuthor Commented:
Hi,

I'm not getting it... Here is the section of the log with the error message.

2652  Date = input(stat_date,mmddyy.);
2653  Stat_date = put(date, mmddyy10.);
                            ---------
                            48
ERROR 48-59: The format $MMDDYY was not found or could not be loaded.

stat_date is in the mmddyy format, is text with length $6.
0
 
theartfuldazzlerCommented:
Hi

It looks like you have previously defined the "date" variable as text as well...  The date variable must be numeric...

In the two lines you sent me - try changing to:

x_Date = input(stat_date,mmddyy.);
Stat_date = put(x_date, mmddyy10.);
0
 
SASnewbieAuthor Commented:
Okay Thanks,
I will be back in an hour...
0
 
theartfuldazzlerCommented:
Hi

Its 10pm on my side of the world, I will look again tomorrow first thing
0
 
SASnewbieAuthor Commented:
I was able to make the conversion:

stat2_date = input(stat_date,mmddyy6.);
format stat2_date mmddyy10.;
stat_date = put(stat2_date,mmddyy10.);

Thanks,
0
 
SASnewbieAuthor Commented:
Please cancel this request to close without assigning points
0
 
theartfuldazzlerCommented:
Hi

Just interested - but the answer I gave works - and is identical to your answer...  why no points?
0
 
SASnewbieAuthor Commented:
Hi theartfuldazzler,

I put in a request for the cancel so I can give you the points.

Sorry about that.
0
 
theartfuldazzlerCommented:
As per comment ID: 34970400, the author agrees that comment ID: 34945923 is the correct solution, and should be granted the points.
0
 
SASnewbieAuthor Commented:
Thanks again!
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 8
  • 7
Tackle projects and never again get stuck behind a technical roadblock.
Join Now