|
Nope I would Like to read date and time part but was not sure why I am
getting a different value when converting them back ??
On 11/2/07, data _null_, <datanull@gmail.com> wrote:
>
> If you just want the datepart read the first 10 characters...
>
> 402 data _null_;
> 403 format rtsdtc1-rtsdtc2 date9.;
> 404 rfstdtc='2007-01-30T17:49:00';
> 405 rtsdtc1=datepart(INPUT(rfstdtc,IS8601DT.));
> 406 rtsdtc2=input(rfstdtc,yymmdd10.); ***;
> 407 put (_all_)(=);
> 408 run;
>
> rtsdtc1=30JAN2007 rtsdtc2=30JAN2007 rfstdtc=2007-01-30T17:49:00
>
>
> On 11/2/07, Jake Bee <johbee@gmail.com> wrote:
> > Isn't it like this?
> >
> > data dm;
> > format rtsdtc1 date9.;
> > rfstdtc='2007-01-30T17:49:00';
> > rtsdtc1=datepart(INPUT(rfstdtc,IS8601DT.));
> > run;
> >
> > proc print data=dm;
> > run;
> >
> > Jake
> >
> >
> > On 11/2/07, SAS_learner <proccontents@gmail.com> wrote:
> > >
> > > I am sorry guys I forgot to mention that I am still using SAS V 8 so I
> > > can't
> > > play with smart functions of 9
> > >
> > > On 11/2/07, ckxplus@yahoo.com <ckxplus@yahoo.com> wrote:
> > > >
> > > > Try the anydt* informats. Here's an example:
> > > >
> > > > data null;
> > > > length datestring $20;
> > > > datestring='2007-01-30T17:49:00';
> > > > put datestring;
> > > >
> > > > dt=input(datestring,anydtdte21.);
> > > > put dt date9.;
> > > >
> > > > datetime=input(datestring,ANYDTDTM21.);
> > > > put datetime datetime.;
> > > >
> > > > dateprt=datepart(datetime);
> > > > put dateprt ddmmyy10.;
> > > >
> > > > run;
> > > >
> > > > Results:
> > > > 2007-01-30T17:49:00
> > > > 30JAN2007
> > > > 30JAN07:17:49:00
> > > > 30/01/2007
> > > >
> > > > Good luck,
> > > > John Hendrickx
> > > >
> > > > On 2 nov, 14:52, procconte...@GMAIL.COM (SAS_learner) wrote:
> > > > > Hello All,
> > > > >
> > > > > I have date (ISO 8601 standard For Ex : 2007-01-30T17:49:00 ) I
> am
> > > > trying
> > > > > to convert it to numeric date, I checked every where for an
> informat
> > > to
> > > > > convert it into sas Numerical date like this ;
> > > > >
> > > > > Data Dm ;
> > > > > Set Mntx3301.Dm;
> > > > > RFSDTC1 = Input( RFSTDTC , is8601dt. ) ;
> > > > > Keep Usubjid subjid siteid RFSTDTC RFENDTC RFSTDTC1 ;
> > > > > Run;
> > > > >
> > > > > This is giving me an error,
> > > > > Then I thought of cutting it and putting it way the SAS likes
> > > > >
> > > > > RFSDTC1
> > > > >
> > > >
> > >
> =input(compress(put(scan(RFSDTC,2,'-'),$2.)||put(scan(RFSDTC,3,'-'),$2.)||put(scan(RFSDTC,1,'-'),$4.)),mmddyy8.);
> > > > >
> > > > > but is there a better way than this to do this., While converting
> this
> > > > way I
> > > > > would be ignoring the time part right so should I need to use
> > > > datetime20. to
> > > > > change exactly for character to Numeric.
> > > > >
> > > > > thank you all for the help
> > > >
> > >
> >
>
|