Расчетные дни прошли - PullRequest
       10

Расчетные дни прошли

0 голосов
/ 04 декабря 2018

У меня есть переменная date, например:

enter image description here

Я хочу подсчитать, сколько дней прошло, скажем, с Jan 1 of 1960.

Однако это утомительно.Также в некоторые годы февраль имеет 28 дней.

То, что я пробовал, - это в основном поиск по каждому календарю, подсчет количества дней в году, распознавание строки типа jan в качестве переменной месяца 1 и так далее.

Есть ли короткий и эффективный способ сделать это?

1 Ответ

0 голосов
/ 04 декабря 2018

Вам необходимо использовать функцию daily() или date():

display date("1/1/2012", "DMY") - date("1/1/1960", "DMY")
18993

В более общем случае, если у вас есть строковая переменная с датами:

clear

input str10 date1
"01/01/2012"
"01/01/2011"
"01/01/2014"
"19/12/2014"
end

generate date2 = date(date, "DMY") - date("1/1/1960", "DMY")

list

     +--------------------+
     |      date1   date2 |
     |--------------------|
  1. | 01/01/2012   18993 |
  2. | 01/01/2011   18628 |
  3. | 01/01/2014   19724 |
  4. | 19/12/2014   20076 |
     +--------------------+

Если переменнаясодержащие даты числовые:

clear

input date1
18993
18628
19724
20076
end

format %tdDD/NN/CCYY date1

generate date2 = date1 - date("1/1/1960", "DMY")
...