BookmarkSubscribeRSS Feed
DocMartin
Quartz | Level 8

I received a dataset in which many of the observations have a datetime value where the year is 2076 or 2077. Obviously these values are off by 60 years. So how can I modify the year value in that datetime variable so that the right year is in there.

 

ex. DOB = 02/15/2076 13:00 should be 02/15/2016 13:00

     DOB = 05/26/2077 9:35 should be 05/26/2017 9:35

 

Thanks!

Andrew

7 REPLIES 7
DocMartin
Quartz | Level 8

That does not work. When I try newdob = intnx("year", dob, -60) all I get is 1/1/1960. Plus, I need the time portion to remain stable. 

Reeza
Super User

You stated you had a datetime variable? If so, then Year is not the correct interval, it's DTYEAR I think. For the remaining values to be the same use the fourth parameter which controls the alignment. 

 

newdob = intnx("dtyear", dob, -60, 's')

 

 

PaigeMiller
Diamond | Level 26

@DocMartin wrote:

That does not work. When I try newdob = intnx("year", dob, -60) all I get is 1/1/1960. Plus, I need the time portion to remain stable. 


You have a datetime value, not a date value.

 

Use

intnx("dtyear",dob,-60)
--
Paige Miller
Reeza
Super User

Did you import this data from Excel originally?

 

DocMartin
Quartz | Level 8
Yes, unfortunately.
Reeza
Super User

@DocMartin wrote:
Yes, unfortunately.

Assuming this means you did import it from Excel, then I would suggest an approach noted here:

https://communities.sas.com/t5/Integration-with-Microsoft/Importing-date-time-variables-from-Excel-i...

 

Or 

 

There's a specific value that you need to use to account for Excel date to SAS date but I can't remember the rule, if you're sure it's 60 years this appraoch will work though.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 7 replies
  • 2104 views
  • 0 likes
  • 3 in conversation