_date2elapsed.ado
来自「是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到」· ADO 代码 · 共 76 行
ADO
76 行
*! version 1.0.5 25sep2003
program _date2elapsed, sclass
version 8.1
syntax [, format(string) datelist(string asis) DIsplay ]
local fmt = substr("`format'",3,1)
if !inlist("`fmt'","d","w","m","q","h","y") {
sreturn clear
sreturn local args `"`datelist'"'
sreturn local orig `"`datelist'"'
exit
}
// Translate all dates to Stata's elapsed time values
while `"`datelist'"' != "" {
gettoken arg datelist : datelist , ///
qed(qed) parse(" ,/()") match(par)
if `qed' {
local orig `"`orig' `"`arg'"'"'
}
else local orig `orig' `arg'
if "`arg'" == "," {
continue
}
else if "`par'" == "(" {
capture confirm integer `arg'
if c(rc) & "`format'" != "" {
Evaluate `fmt' `"`arg'"'
local args `"`args' `r(date)'"'
}
else local args `"`args' (`arg')"'
}
else if `qed' {
local args `"`args' `"`arg'"'"'
}
else {
if "`format'" != "" {
Evaluate `fmt' `arg'
local arg `r(date)'
}
local args `"`args' `arg'"'
}
}
sreturn clear
sreturn local fmt `"`fmt'"'
sreturn local args `"`:list retok args'"'
sreturn local orig `"`:list retok orig'"'
if "`display'" != "" {
di as txt "fmt = |" as res `"`s(fmt)'"' as txt "|"
di as txt "args = |" as res `"`s(args)'"' as txt "|"
di as txt "orig = |" as res `"`s(orig)'"' as txt "|"
}
end
// syntax: Evaluate <format_unit> <date_string>
//
// Use the function associated with the <format_unit> to convert <date_string>
// to a Stata elapsed time value. The <format_unit> functions are:
//
// d() w() m() q() h() y()
program Evaluate, rclass
args format date
capture {
local val = `format'(`date')
confirm integer number `val'
}
if !c(rc) local date `val'
return local date `date'
end
exit
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?