# of months between two date vars

I have a dataset at the person/month/year level--ie, each row is one person for one mth/year combination. People occur multiple times in the dataset (but a new row would be a different mth/year). There are two date columns. date_col_1 is at the person level--ie, for each of the person's rows, date_col_1 will always be the same. date_col_2 reflects the mth/year that the event took place (format is yyyymm). Total is a sum variable reflecting the # of times an event happened within each mth/year for each person.

Example data:

ID date_col_1 date_col_2 total

1 1/3/2012 201203 5

1 1/3/2012 201204 7

1 1/3/2012 201205 3

2 10/5/2013 201201 1

2 10/5/2013 201202 12

3 3/4/2012 201301 11

3 3/4/2012 201305 4

3 3/4/2012 201401 5

3 3/4/2012 201403 10

What I want is a new variable that gives date_col_2 relative to date_col_1--that is, the number of months that date_col_2 occurs before or after date_col_1. For example, in the first row it would be +2 months because date_col_2 is two months after date_col_1; in the first row for ID 2 it would be -21 because date_col_2 is 21 months prior to date_col_1.