拿今天的日期减去出生日期,结果是天数要换成年数
这里还有个注意, 要看年龄是按周岁还是虚岁
我这个规则是按虚岁算的, 就是一生下来就是1岁
如果要按周岁,请将+1去除func GetAge
Lparameters LcBirth
lcnow=date()
intyear=year(lcnow)-year(LcBirth)
intMonth=month(lcnow)-month(LcBirth)
intday=day(lcnow)-day(LcBirth)
RetrunValue=intyear+intMonth/12+intday/365 &&&intday简单的除365应该也可以保证(一位小数)的精度了
return round(RetrunValue,1)
endfunc
&&谢谢 z_wuji INTYEAR不用再乘以12在Valid 事件中写入:if week(thisvalue)=7 or week(thisvalue)=0
return 0
endif
不行再问我!!!在VFP中日期表达式就是用 *** 作符将表达日期的元素连接起来的表达式,日期时间表达式和日期表达式基本一样,只是元素中有表达时间的函数或字段或数组。
可以通过组合日期 *** 作符和下列 Visual FoxPro 元素来构成日期表达式:
1、日期型 或日期时间型字段。
2、返回日期或日期及时间的函数。
3、包含日期或时间的变量和数组元素。
4、日期型 和日期时间型常量。
下面的 *** 作符对日期和时间起作用。
+
相加
复制代码
tNewTime = tTime1 + nSeconds
dNewDate = dDate1 + nDays
-
相减
复制代码
nSeconds = tTime1 - tTime2
tNewTime = tTime1 - nSeconds
dNewDate = dDate1 - nDays
Visual FoxPro 将无效日期作为空日期处理。与系统默认的日期格式有关,在工具-选项-区域中调整,将使用系统设置勾选后就是年-月-日格式了
原来是美语格式:月-日-年 40/04/21会认为非法日期,可04/21/40VFP都是鼠标 *** 作的多
你在DBF文件上建一个查询表单<可以用向导做>,做完之后运行查询表到进行搜索,选择索引为出生日期
选着=
在输入1984
点搜索就可以找到1984年的全部学生了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)