时间格式的问题 一个字段属性在access中被设置成短时间格式,但是,在table 里填写的话,会显示成1899-12-31 xx:xx:xx 如何解决?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将access里时间字段设为字符串程序处理时间为字符串后写入access2、常用函数和过程 2.1 Date函数 function Date: TDateTime; 返回当前的日期,实际类型是TDateTime,也就是小数部分为0的DateTime值,小数部分为0代表什么意思呢?根据TDateTime的概念我们知道这代表午夜也就是0点。 2.2 DateToStr 函数的形式:function DateToStr(Date: TDateTime): string; 返回值是个字符串,很有用吧。不过,别高兴的太早,如果你用DateToStr(DateTimePicker.Date),你会发现返回的字符串可能是“04-22-03”,这是为什么呢?这是因为delphi内部有一些系统变量用来定义数字、货币、日期的格式,这些变量delphi称为Currency and date/time formatting variables,有23个。我也没有完全看懂,这里讲几个我搞明白的说说。 var ThousandSeparator: Char; 千分位的符号,一般都是西文的逗号“,”,默认值存放在LOCALE_STHOUSAND变量中(位于windows单元) var DecimalSeparator: Char; 小数点的符号,一般都是西文的句号“.”,默认值存放在变量LOCALE_SDECIMAL中 var CurrencyDecimals: Byte; 小数点后面保留的位数,一般是2位,默认值存放在变量LOCALE_ICURRDIGITS中 var DateSeparator: Char; 日期的分隔符号,一般使用“-”或“.”,默认值为“-”,默认值存放在变量LOCATE_SDATE中 var ShortDateFormat: string; 短日期格式,一般是“yyyy.mm.dd”,默认值存放在变量LOCALE_SSHORTDATE中 var LongDateFormat: string; 长日期格式,一般是“yyyy.mm.dd”,默认值存放在变量LOCALE_SLONGDATE中 var TimeSeparator: Char; 时间的分隔符,一般是西文的分号“:”,默认值就是这个,默认值存放在变量 LOCALE_STIME中 var TimeAMString: string; 表示上午的字符串,默认为“AM”,默认值存放在变量LOCALE_S1159中 var TimePMString: string; 表示下午的字符串,默认为“PM”,默认值存放在变量LOCALE_S2359中 var ShortTimeFormat: string; 短时间格式,默认值存放在变量LOCALE_ITIME LOCALE_ITLZERO中 var LongTimeFormat: string; 长时间格式,一般为“hh:mm:ss”,默认值存放在变量LOCALE_ITIME and LOCALE_ITLZERO中 所以,如果想开发一个稳健的系统,那么这些系统变量必须要在进入系统的时候进行初始化,下面是我得代码: SysLocale.PriLangID:=LANG_CHINESE; DateSeparator:='.'; LongDateFormat:='yyyy.mm.dd'; ShortDateFormat:='yyyy.mm.dd'; TimeSeparator:=':'; LongTimeFormat:='hh:nn:ss'; TimeAMString:='上午'; TimePMString:='下午'; 大家一定奇怪,为什么我的LongDateFormat和ShortDateFormat是一样的,老实讲,我也希望能够区分长短日期的格式,但是由于有些关于TDateTime的例程在类型转换的时候要参考ShortDateFormat,所以只能设置成一样的了。 还是继续说DateToStr函数。其他没什么特别的,需要注意的是此函数是根据ShortDateFormat来进行转换的,所以ShortDateFormat我只能设为“yyyy.mm.dd” 说道了DateTimePicker,注意在它的format属性中设置显示格式的时候月份要用“MM”而不是我们通常认为的“mm”。 2.3 StrToDate函数 function StrToDate(const S: string): TDateTime; 这个函数可以看成是DateToStr的逆函数,作用就是把一个字符串转换为TDateTime,参数S必须包括2个或3个数字,用DateSeparator所定义的分隔符分隔,年月日的顺序和格式遵从ShortDateFormat。如果输入的参数不符合日期类型的规定系统会触发EConvertError例外。 2.4 DateTimeToStr函数 function DateTimeToStr(DateTime: TDateTime): string; 把TDateTime转换为字符串,日期格式遵从ShortDateFormat,时间格式遵从LongTimeFormat,如果TDateTime的小数部分是0的话,那么返回的字符串中将没有时间部分。 2.5 StrToDateTime函数 function StrToDateTime(const S: string): TDateTime; 这个函数可以看作是DateTimeToStr函数的逆函数,和StrToDate差不多。 2.6 DateTimeToString过程 procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime); 这个过程的作用和DateTimeToStr和DateToStr一样,特别的地方是可以指定TDateTime的格式,这样就可以得到我们指定格式的日期型字符串了。 SQL语句结束的地方缺少‘;’,求解 这个控件怎么写 SQL的问题: 赐教,在stringgrid的各个cells中如何通过选择操作系统的输入法来任意输入汉字或俄文. 有关INTERBASE 安装的怪问题 有关Delphi的设计 请问哪里有delphi关于socket的教程,最近想学一学。高手指教。 如何用checkbox和edit,query控件进行复杂查询, 关于图像的"规一化"-------------高手帮看看.. KAMI(烤麦)来领分吧。66分 如何用modem唤醒计算机 我用的ADOQUERY控件为什么查询不到数据,是不是语句错了?见正文(给分)
程序处理时间为字符串后写入access2、常用函数和过程
2.1 Date函数
function Date: TDateTime;
返回当前的日期,实际类型是TDateTime,也就是小数部分为0的DateTime值,小数部分为0代表什么意思呢?根据TDateTime的概念我们知道这代表午夜也就是0点。
2.2 DateToStr
函数的形式:function DateToStr(Date: TDateTime): string;
返回值是个字符串,很有用吧。不过,别高兴的太早,如果你用DateToStr(DateTimePicker.Date),你会发现返回的字符串可能是“04-22-03”,这是为什么呢?这是因为delphi内部有一些系统变量用来定义数字、货币、日期的格式,这些变量delphi称为Currency and date/time formatting variables,有23个。我也没有完全看懂,这里讲几个我搞明白的说说。
var ThousandSeparator: Char;
千分位的符号,一般都是西文的逗号“,”,默认值存放在LOCALE_STHOUSAND变量中(位于windows单元)
var DecimalSeparator: Char;
小数点的符号,一般都是西文的句号“.”,默认值存放在变量LOCALE_SDECIMAL中
var CurrencyDecimals: Byte;
小数点后面保留的位数,一般是2位,默认值存放在变量LOCALE_ICURRDIGITS中
var DateSeparator: Char;
日期的分隔符号,一般使用“-”或“.”,默认值为“-”,默认值存放在变量LOCATE_SDATE中
var ShortDateFormat: string;
短日期格式,一般是“yyyy.mm.dd”,默认值存放在变量LOCALE_SSHORTDATE中
var LongDateFormat: string;
长日期格式,一般是“yyyy.mm.dd”,默认值存放在变量LOCALE_SLONGDATE中
var TimeSeparator: Char;
时间的分隔符,一般是西文的分号“:”,默认值就是这个,默认值存放在变量 LOCALE_STIME中
var TimeAMString: string;
表示上午的字符串,默认为“AM”,默认值存放在变量LOCALE_S1159中
var TimePMString: string;
表示下午的字符串,默认为“PM”,默认值存放在变量LOCALE_S2359中
var ShortTimeFormat: string;
短时间格式,默认值存放在变量LOCALE_ITIME LOCALE_ITLZERO中
var LongTimeFormat: string;
长时间格式,一般为“hh:mm:ss”,默认值存放在变量LOCALE_ITIME and LOCALE_ITLZERO中
所以,如果想开发一个稳健的系统,那么这些系统变量必须要在进入系统的时候进行初始化,下面是我得代码:
SysLocale.PriLangID:=LANG_CHINESE;
DateSeparator:='.';
LongDateFormat:='yyyy.mm.dd';
ShortDateFormat:='yyyy.mm.dd';
TimeSeparator:=':';
LongTimeFormat:='hh:nn:ss';
TimeAMString:='上午';
TimePMString:='下午';
大家一定奇怪,为什么我的LongDateFormat和ShortDateFormat是一样的,老实讲,我也希望能够区分长短日期的格式,但是由于有些关于TDateTime的例程在类型转换的时候要参考ShortDateFormat,所以只能设置成一样的了。
还是继续说DateToStr函数。其他没什么特别的,需要注意的是此函数是根据ShortDateFormat来进行转换的,所以ShortDateFormat我只能设为“yyyy.mm.dd”
说道了DateTimePicker,注意在它的format属性中设置显示格式的时候月份要用“MM”而不是我们通常认为的“mm”。
2.3 StrToDate函数
function StrToDate(const S: string): TDateTime;
这个函数可以看成是DateToStr的逆函数,作用就是把一个字符串转换为TDateTime,参数S必须包括2个或3个数字,用DateSeparator所定义的分隔符分隔,年月日的顺序和格式遵从ShortDateFormat。如果输入的参数不符合日期类型的规定系统会触发EConvertError例外。
2.4 DateTimeToStr函数
function DateTimeToStr(DateTime: TDateTime): string;
把TDateTime转换为字符串,日期格式遵从ShortDateFormat,时间格式遵从LongTimeFormat,如果TDateTime的小数部分是0的话,那么返回的字符串中将没有时间部分。
2.5 StrToDateTime函数
function StrToDateTime(const S: string): TDateTime;
这个函数可以看作是DateTimeToStr函数的逆函数,和StrToDate差不多。
2.6 DateTimeToString过程
procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);
这个过程的作用和DateTimeToStr和DateToStr一样,特别的地方是可以指定TDateTime的格式,这样就可以得到我们指定格式的日期型字符串了。