Convert numeric to datetime stamp

Reply
Contributor
Posts: 60

Convert numeric to datetime stamp

Hi

I have a date value

19370

19375

i would Like to convert it in

12JAN13:00:00:00

17JAN13:00:00:00

I am using below piece of code but it's not working

tranwrd(put(dhms(datepart(ldate),0,0,0),E8601DT19.),"T","");

Thanks

Grand Advisor
Posts: 17,338

Re: Convert numeric to datetime stamp

Your values are dates so you don't need the date part function. The format you want is a SAS format, datetime21 so you can apply that directly. The code below demonstrates this, time_want is the numeric version of the variable and time_want_char is the character version of the variable.

data have;

input time;

cards;

19370

19375

;

run;

data want;

set have;

time2=time;

time_want=dhms(time, 0, 0, 0);

time_want_char=put(time_want, datetime21.);

format time time_want datetime21. time2 date9.;

run;

Esteemed Advisor
Posts: 7,293

Re: Convert numeric to datetime stamp

How about:?

data want;

  set have;

  ndt=tranwrd(put(dhms(ldate,0,0,0),E8601DT19.),"T","");

run;

Trusted Advisor
Posts: 1,203

Re: Convert numeric to datetime stamp

data have;

input time;

time_want=time*86400;

format time_want datetime.;

cards;

19370

19375

;

Ask a Question
Discussion stats
  • 3 replies
  • 357 views
  • 0 likes
  • 4 in conversation