vfp 有很丰富的时间和日期函数 直接把输入的日期减去当年的1月1日 再+1 就是这一年的第几天了.
SET DATE ymd
SET CENTURY on
SET MARK TO "-"
input_str=INPUTBOX("输入日期(yyyy-mm-dd)","计算第几天",DTOC(DATE()))
input_date=CTOD(input_str)
*WAIT WINDOW NOWAIT DTOC(input_date)
IF input_date={}
=MESSAGEBOX("输入的日期错误",0+32+256,'计算第几天')
RETURN
ENDIF
fist_day_str=STR(year(input_date),4)+'-01-01'
fist_day=CTOD(fist_day_str)
item_date= input_date-fist_day
*?item_date
=MESSAGEBOX('输入日期:'+input_str+CHR(13)+'是'+STR(year(input_date),4)+"年的第"+STR(item_date,5)+"天",0+64+256,'计算第几天')
RETURN
效果
错误提示