Найти разницу в месяцах между двумя датами - PullRequest
0 голосов
/ 01 мая 2018

У меня есть две даты, 30-04-2009 и 12-01-2009.

Можно ли рассчитать разницу в месяцах?

Я попробовал следующее, но это не сработало:

generate date3 = date1 - date2

1 Ответ

0 голосов
/ 01 мая 2018

Вычитая две numeric переменные даты с помощью функции date(), вы получаете разницу в днях . Чтобы получить разницу в месяцах , необходимо выполнить преобразование SIF в SIF с использованием функции mofd().

Например:

display mofd(date("30-04-2009", "DMY")) - mofd(date("12-01-2009", "DMY"))

В вашем случае:

clear
set obs 1

generate date1 = date("30-04-2009", "DMY")
generate date2 = date("12-01-2009", "DMY")
generate date3 = mofd(date1) - mofd(date2)

list

   +-----------------------+
   | date1   date2   date3 |
   |-----------------------|
1. | 18017   17909       3 |
   +-----------------------+
...