只需加上以下这句:
  LongDateFormat := "yyyy-mm-dd"
即可。
通过了不要忘了给分哦!  :-)

解决方案 »

  1.   

    var
    str: string;
    begin
    str := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];
    if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE , PChar(str)) then
    begin
    showmessage('short OK!');
    then
    SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
    end;
    end;
    为了方便测试我用了radioGroup,items 内容如下
    yy-d-m
    d-yy-m
    m-d-yy
    yy-m-d
    yyyy-m-d
    yyyy-d-m
    传进参数必须 null-terminate 字符串指针。我用 pchar ,而且字符串格式只能写成这样 'm-d'而不是'mm-dd'('yyyy'可以用),不然改不了另外delphi 函数 DateTostr,DateTimeTostr,都调用短格式。
    长格式很灵活。随便改.RadioGroup Items 如下
    yyy'年'dd'日'-mm
    d-yyyy-mm
    mm-dd-yyyy
    yyyy-mm-dd代码如下var
    str: string;
    begin
    str := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex]; 
    if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SLONGDATE , PChar(str)) then
    begin
    showmessage('Loan OK!');
    SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
    end;
    end;
    //
    你应该搜索一下,有着方面的讨论。
      

  2.   

    在单元或窗体创建的时候运行下面语句,现在答了问题要分都很困难了,呵呵,不抱什么希望。
    ShortDateFormat := 'yyyy-MM-dd';
    LongDateFormat  := 'yyyy-MM-dd';
    TimeSeparator   := ':';
    TimeAMString    := emptystr;
    TimePMString    := emptystr;
    ShortTimeFormat := 'HH:MM';
    LongTimeFormat  := 'HH:MM:ss';
      

  3.   

    var s:string;
    s:=formatdatetime('yyyy-mm-dd',now());
    就这么简单