DELPHI中DATE 是 YY-MM-DD的形式 怎么样得到 YYYY-MM-DD的形式(0分)

  • 主题发起人 主题发起人 gwei
  • 开始时间 开始时间
G

gwei

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI中DATE 是 YY-MM-DD的形式 ;怎么样得到 YYYY-MM-DD的形式
在修改 系统的 日期类型能得到 ;在不修改系统的 日期类型 ;我要怎么在DELPHI中得到呢
 
1.在电脑的控制面板中的区域设置中设置。
2.复杂方法:
; var
; ; Year,Month,Day:Word;
; begin
; ; DecodeDate(Date,Year,Month,Day);
; ; Format('%0.4d-%0.2d-%0.2d',[Year,Month,Day]);
; end;
3.动态设置系统,这个方法最好,也最简单,不过我一下子不记得那个函数了。
 
FormatDateTime('yyyy-mm-dd',now)
 
不行呀 ;那个FORMATDATETIME ;不行 ;还一 样的
 
这个简单呀,看我的...
begin
; DateSeparator := '-';
; ShortTimeFormat := 'yyyy-mm-dd';
; longtimeformat := 'yyyy-mm-dd';
; TwoDigitYearCenturyWindow := 70; //这一行可不要忘了,捉千年虫.
end;

还不行的话可以骂我.
OICQ:12063075 不过是要验证的.
 
这道题怎么一分都没有呀.

呜....
 
1:如果是数据表中日期格式,可设置日期字段的displayformat属性为‘YYYY-MM-DD'即可
2:否则在单元中加入:shortdateformat := 'YYYY-MM-DD';
OK!搞定
 
formatdatetime('yyyy"-"mm"-"dd',date);
绝对可以的了
 
我当初是这样解决的,不过有一定的局限性,没有楼上的各位的方法好!见笑了:
var
Year, NowDate:string;
Temp, TempYear, I:integer;
begin
; NowDate:=DateToStr(Date);
; Temp:=pos('-',NowDate);
; Year:=copy(NowDate,1,Temp-1);

//由于平台跨越性问题,在9x下年份用2位数字表示,
//而在2k下则用四位数字表示,所以添加以下代码
; if (strtoint(Year)<1900) then
; ; begin
; ; ; if strtoint(Year)<45 then
; ; ; ; Year:='20'+Year
; ; ; else
; ; ; ; Year:='19'+Year;
; ; end;
end;
 
同意menxin,这样是最简单的。可以结束了。
 
同志们 ;谢谢你们的回答 ;本人是菜鸟 ;没有分给大家了 ;请大家 多包含 ;谢谢了
 
接受答案了.
 
后退
顶部