我有一个这样的变量date
:
我想计算自Jan 1 of 1960
以来已经过了多少天。
但是,这很乏味。同样在几年中,二月还有28
天。
我一直在尝试的工作基本上是查找每个日历,计算每年有多少天,将jan
之类的字符串识别为月变量1
,依此类推。
是否有任何简便有效的方法?
答案 0 :(得分:2)
您需要使用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")