用表达式计算年月
表达式并没有提供根据日期计算出年月的函数,但是就像四舍五入一样,我们可以用间接的方式计算得出。
下面的表达式看上去有点复杂,不需要刻意去理解他,实际使用的时候直接套用即可。
由于Windows 7/Vista/XP默认的日期格式不同,所以表达式也有所不同。
计算年的表达式
SubString(Convert([日期],'System.String'),1,4)
计算月的表达式
Windows XP:
SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1) = '-',1,2))
Windows 7/Vista:
SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1) = '/',1,2))
通用(适合Windows XP/Vista/7):
SubString(Convert([日期],'System.String'),6,IIF(SubString(Convert([日期],'System.String'),7,1)
In ('-','/'),1,2))
计算日的表达式
Windows XP:
SubString(Convert([日期],'System.String'),IIF(SubString(Convert([日期],'System.String'),7,1) = '-',8,9),2)
Windows 7/Vista:
SubString(Convert([日期],'System.String'),IIF(SubString(Convert([日期],'System.String'),7,1) = '/',8,9),2)
通用(适合Windows XP/Vista/7):
SubString(Convert([日期],'System.String'),IIF(SubString(Convert([日期],'System.String'),7,1) In ('-','/'),8,9),2)
CaseStudy目录下有一个示例文件“表达式求年月日.table”,其中年、月、日列的值就是用上述表达式计算得出,大家可以打开这个文件参考一下。
提示:上述表达式只对简体中文的操作系统有效,且不能修改控制面板中区域和语言选项的日期时间格式。