BookmarkSubscribeRSS Feed
cookvyz
Calcite | Level 5

Hi All,

I have a variable with dates listed in a format of 30.03.2002.

I have tried many options without success.

Here are some commands I have worked with:

new date=input(olddate,date9.);

newdate=input(compress(olddate,'.'),date9.);

newdate= INPUT(compress(olddate),date9.);

format newdate date9.;

Any help would be very much appreciated.

Kind Regards,

Karen

2 REPLIES 2
PGStats
Opal | Level 21

Use format anydtdte :

data test;

dateStr = "30.03.2002";

date = input(dateStr, anydtdte10.);

output;

dateStr = "04.03.2002";

date = input(dateStr, anydtdte10.);

output;

format date date9.;

run;

proc print; run;

PG

PG
Kurt_Bremser
Super User

To force a correct format, I would avoid the anydtdte10. format, as it may convert some values in an unexpected fashion (03/02/2002: March 2nd or February 3rd?).

Instead use

newdate = input(olddate,ddmmyy10.);

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1254 views
  • 1 like
  • 3 in conversation