vfp 命令 日期格式
请问VFP数据表中所有出生日期的格式为:XX/YY/ZZ,例如12/30/80如何用命令批量将日期格式改为ZZZZXXYY,例如19801230?...
请问VFP数据表中 所有出生日期的格式为:XX/YY/ZZ,例如12/30/80 如何用命令批量将日期格式改为ZZZZXXYY,例如19801230?
展开
2个回答
展开全部
首先,数据表中的日期,显示为MM/DD/YY只是一种日期显示格式,默认的是你现在显示的这种,我常用的是2000.12.01这种格式,通过命令 set date to ansi 实现,常用的格式如下:
AMERICAN mm/dd/yy
ANSI yy.mm.dd
BRITISH/FRENCH dd/mm/yy
GERMAN dd.mm.yy
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)
要想显示的日期包含世纪,如 2003.12.31而不是03.12.31,只需要输入命令 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])
我想我应该说清楚了吧:)
AMERICAN mm/dd/yy
ANSI yy.mm.dd
BRITISH/FRENCH dd/mm/yy
GERMAN dd.mm.yy
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)
要想显示的日期包含世纪,如 2003.12.31而不是03.12.31,只需要输入命令 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])
我想我应该说清楚了吧:)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询