vfp 日期对比

vfp 日期对比,第1张

bdate及edate都是日期型,直接比较即可

bdate<DATE() and edate>DATE()这样就行了

Alltrim()为字符函数,Alltrim(bdate)这样写肯定会提示类型或数值无效了

str()是将数值型数据转换为字符型,这里

STR(DAY(gdBDate),2),首先DAY(gdBDate)=5(得到日期),这是一个数值型,然后用str()将它转换成一个字符型,并设置宽度为2

在VFP中日期表达式就是用 *** 作符将表达日期的元素连接起来的表达式,日期时间表达式和日期表达式基本一样,只是元素中有表达时间的函数或字段或数组。

可以通过组合日期 *** 作符和下列 Visual FoxPro 元素来构成日期表达式:

1、日期型 或日期时间型字段。

2、返回日期或日期及时间的函数。

3、包含日期或时间的变量和数组元素。

4、日期型 和日期时间型常量。

下面的 *** 作符对日期和时间起作用。

首先,数据表中的日期,显示为MM/DD/YY只是一种日期显示格式,默认的是你现在显示的这种,我常用的是20001201这种格式,通过命令 set date to ansi 实现,常用的格式如下:

AMERICAN mm/dd/yy

ANSI yymmdd

BRITISH/FRENCH dd/mm/yy

GERMAN ddmmyy

ITALIAN dd-mm-yy

JAPAN yy/mm/dd

TAIWAN yy/mm/dd

USA mm-dd-yy

MDY mm/dd/yy

DMY dd/mm/yy

YMD yy/mm/dd

要设置成以上格式,只需要输入命令 SET DATE TO (格式码,如ANSI)

要想显示的日期包含世纪,如 20031231而不是031231,只需要输入命令 SET CENT ON

你想要显示的,YYYYMMDD这样的格示,不是常用的日期格式,所以,你需要建立一个新的字段,是字符型的,长度最少到8,,然后输入命令:

SET CENT ON

REPL ALL 字段名 WITH ALLT(STR(YEAR(日期)))+ALLT(STR(MONTH(日期)))+ALLT(STR(DAY(日期)))

但这样的办法并不好,比如2009/08/12 得出的结果,就不是20090812 而是2009812,如果要变成20090812就更麻烦一点,推荐如下办法:

当然,如果你已经设置 SET DATE TO ANSI 了,,就不用这么麻烦,,可以输入命令

REPL ALL 字段名 WITH STRTRAN(DTOC(日期),"","")

STRTRAN() 函数详解:

在第一个字符表达式或备注字段中,搜索第二个字符表达式或备注字段,并用第三个字符表达式或备注字段替换每次出现的第二个字符表达式或备注字段。

STRTRAN(cSearched, cExpressionSought [, cReplacement]

[, nStartOccurrence] [, nNumberOfOccurrences] [, nFlags])

我想我应该说清楚了吧:)

VFP日期型函数的格式如下:

•Set mark to [分隔符] 设置分隔符(-/空格 ),默认“/”

•Set date to [短语] 设置日期格式,默认AMERICAN

•短语设置 日期格式 短语设置 日期格式

•AMERICAN mm/dd/yy ANSI yymmdd

•BRITISH/FRENCH dd/mm/yy GERMAN ddmmyy

•ITALIAN dd-mm-yy JAPAN yy/mm/dd

•USA mm-dd-yy MDY mm/dd/yy

•DMY dd/mm/yy YMD yy/mm/dd

•SET CENTURY ON|OFF|TO [[世纪值] ROLLOVER [年份参照值]] 用于确定世纪的显示与否

• ON:指定在10位日期格式中,用四位数字表示年。

• OFF:指定在8位日期格式中,用两位数字表示年。

• 在进行日期计算时假定它表示的是二十世纪。

• To选项确定用量数字表示的年份所处的世纪。

•Set strictdate to [0|1|2] 用于设置是否检查日期格式

• 0:不检查 1:检查,默认值 2:检查且影响TOD()/CTOT()格式

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13495740.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存