DATA Step, Macro, Functions and more

datetime19 + timezone

Accepted Solution Solved
Reply
Contributor
Posts: 20
Accepted Solution

datetime19 + timezone

Dear SAS Gurus,

 

I have a CSV file contains like following.

 

12/19/2015 19:23:55 JST 

It looks like ordinary mm/dd/yyyy hh:mm:ss except it contains "JST" at the end which indicates Japan time zone like EST or CST in US. Without this time zone, it was OK with datetime19. but with this it does go into SAS dataset.

Do you have any good workaround to import this as datetime value to SAS?

Thank you Gurus,

Kaz

 


Accepted Solutions
Solution
‎04-07-2017 05:27 AM
SAS Super FREQ
Posts: 709

Re: datetime19 + timezone

Hi

 

To read this from a CSV, I suggest to read the datetime value as char, and then use the INPUT function to convert the char value to a datetime value. See an example below.

 

data want;
  infile cards dlm=",";
  input
    id : 8.
    someDT_c : $32.
    text :$40.
  ;

  someDT = input(someDT_c, anydtdtm19.);
  format
    someDT datetime19.
  ;

/*  drop someDT_C;*/
cards;
123,12/19/2015 19:23:55 JST,somemore text
;

Bruno

View solution in original post


All Replies
SAS Super FREQ
Posts: 709

Re: datetime19 + timezone

Hi

 

A SAS datetime value does not store any timezone information. Is the timezone information important for the processing?

 

Bruno

Contributor
Posts: 20

Re: datetime19 + timezone

Posted in reply to Bruno_SAS

Thanks for your reply.

Time zone information not required. However, datetime19. does not import the first 19 digit and can't ignore the rest.

So if you know any good method to work around without any hussle, I appreciate it.

It's CSV file and I column pointer is a favourite method for use this case.

 

 

 

Solution
‎04-07-2017 05:27 AM
SAS Super FREQ
Posts: 709

Re: datetime19 + timezone

Hi

 

To read this from a CSV, I suggest to read the datetime value as char, and then use the INPUT function to convert the char value to a datetime value. See an example below.

 

data want;
  infile cards dlm=",";
  input
    id : 8.
    someDT_c : $32.
    text :$40.
  ;

  someDT = input(someDT_c, anydtdtm19.);
  format
    someDT datetime19.
  ;

/*  drop someDT_C;*/
cards;
123,12/19/2015 19:23:55 JST,somemore text
;

Bruno

Contributor
Posts: 20

Re: datetime19 + timezone

Posted in reply to Bruno_SAS

Thanks very much. Probably that's the best way. 

dummy variable would be the best. I thought informats sometimes clever enough to take care of this kind of things but not this case.

 

Thank you,

Kaz

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 165 views
  • 0 likes
  • 2 in conversation