VFP作业:按yyyy-mm-dd格式输入一个日期,如2015-10-31,判断这是这一年的第几天。

VFP作业:按yyyy-mm-dd格式输入一个日期,如2015-10-31,判断这是这一年的第几天。要有输入的判断,一旦输入错误日期则通知输入出错,重新输入。【实验提示】... VFP作业:按yyyy-mm-dd格式输入一个日期,如2015-10-31,判断这是这一年的第几天。要有输入的判断,一旦输入错误日期则通知输入出错,重新输入。
【实验提示】以2004-10-31为例,先把前九个月的天数加起来,然后再加上31天。需要考虑的是,当年是闰年,2月为29天,否则2月为28天。也可以2月固定按28天计算,当年是闰年且月份大于2时,多加一天。
展开
 我来答
jack_wang0823
2016-11-18 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1456万
展开全部

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

效果

错误提示

追问

可以帮我看看我这段代码有什么问题吗?

追答
代码不完整    ..   提示有什么错误
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式