如何知道系统的时间是"月-日-年",还是"年-月-日",还是"日-月-年",急!!!!
谢啦~~~

解决方案 »

  1.   

    HKEY_CURRENT_USER\Control Panel\International\
    sShortDate=YYYY-MM-dd
    就代表 年-月-日
      

  2.   

    开始-->运行 
    regedit
    回车
    HKEY_CURRENT_USER\Control Panel\International\
    sLongDate=yyyy'-'M'-'d'-'
      

  3.   

    GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SSHORTDATE ,PChar(sgs),12);//获得系统短日期格式
      GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SLONGDATE ,PChar(sgs),12);//获得系统长日期格式
     GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_STIMEFORMAT ,PChar(sgs),12);//获得系统时间格式
    function TForm1.GetsysLongDateFormat: string;
    var
    sgs:string;
    begin
      setlength(sgs,12);
      GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SLONGDATE ,PChar(sgs),12);
      result:=string(pchar(sgs));
    end;
    function TForm1.GetsysShortDateFormat: string;
    var
    sgs:string;
    begin
      setlength(sgs,12);
      GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SSHORTDATE ,PChar(sgs),12);
      result:=string(pchar(sgs));
    end;
    function TForm1.GetsysTimeFormat: string;
    var
    sgs:string;
    begin
      setlength(sgs,12);
      GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_STIMEFORMAT ,PChar(sgs),12);
      result:=string(pchar(sgs));
    end;
      

  4.   

    formatdatetime('yyyy-mm-dd',now())
    formatdatetime('mm-yyyy-dd',now())
    formatdatetime('dd-mm-yyyy',now())如下测试
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      showmessage(formatdatetime('yyyy-mm-dd',now()));
      showmessage(formatdatetime('mm-yyyy-dd',now()));
      showmessage(formatdatetime('dd-mm-yyyy',now()));
    end;
      

  5.   

    这样也行
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      showmessage(formatdatetime('yyyy年mm月dd日',now()));
      showmessage(formatdatetime('mm月yyyy年dd日',now()));
      showmessage(formatdatetime('dd日mm月yyyy年',now()));
    end;
      

  6.   

    一些常用的日期函数,可能有用
    ☆ Day 开头的函数 
    ● 
    Unit 
    DateUtils 
    function DateOf(const AValue: TDateTime): TDateTime; 
    描述 
    使用 DateOf 函数用来把一个 TDateTime 类型的变量转变成一个 
    只带有日期的 TDateTime 类型变量。 
    例如: 
    showmessage(DateTimetostr(dateof(now()))); 
    你得到的是 2003/03/19 
    而 showmessage(DateTimetostr((now()))); 
    得到的是 2003/03/19 10:50:49 ●function DateTimeToStr(DateTime: TDateTime): string; 描述 
    DateTimeToString 函数将 TDateTime 类型的参数 DateTime 转换成一个 
    字符串,使用给定的全局变量 ShortDateFormat 的格式,时间部分按照 
    给定的全局变量 LongTimeFormat 的格式。 
    其中 DateTime 为零的部分将不会显示出来。 例如: 
    ShortDateFormat:='yyyy mm dd'; 
    showmessage(DateTimetostr((now()))); 
    你将得到:2003 03 19 10:50:49 
    ●procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime); 描述: 
    DateTimeToString 方法将TDateTime类型的参数DateTime 按照由参数Format提供的格式 
    转化成字符串,并保存在Result中。 
    对于Format的格式类型,请看 Date-Time format strings 的帮助。 例如: 
    DateTimeToString(result,'yyyy mm dd',now()); 
    那么 result的结果为:2003 03 19 10:50:49 ●procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime); 描述: 
    有时为了调用API函数来使用系统时间,你可以使用 DateTimeToSystemTime 方法,来将一个 
    TDateTime 类型的时间变量转换成一个 TSystemTime 类型的 系统时间。 ●function DateTimeToUnix(const AValue: TDateTime ): Int64; 描述: 
    使用 DateTimeToUnix 函数来将一个 TDateTime 型时间变量转换成一个相应的 Unix 格式 
    的日期和时间。 
    Unix date-and-time values are encoded as the number of seconds that have elapsed 
    since midnight at the start of January 1, 1970. 
    ●function DateToStr(Date: TDateTime): string; 描述: 
    使用 DateToStr 函数能得到 TDateTime 日期时间类型的日期部分。日期的转换格式依赖于 
    全局变量 ShortDateFormat。 ●function DayOf(const AValue: TDateTime): Word; 描述: 
    对于给定的TDateTime类型的日期时间,使用 DayOf 函数能得到该日期是该月份的第几天。 
    该函数的返回数值在 1 到 31 之间 
    注意:DayOf 函数得到的结果与 DayOfTheMonth 相同。 例如: 
    showmessage(inttostr(dayof(now))); 
    得到的是:19 (今天是 某月19日) ●function DayOfTheMonth(const AValue: TDateTime): Word; 与 DayOf 相同。 ●function DayOfTheWeek(const AValue: TDateTime): Word; 描述: 
    对于给定的TDateTime类型的日期时间,使用 DayOfTheWeek 函数能得到该日期是该星期的 
    第几天。DayOfTheWeek 函数的返回数值为 1 到 7,其中 1 表示星期一,而 7 表示星期日。 
    注意:DayOfTheWeek 是 ISO 8601 标准的(此标准为 星期一是一周的第一天)。对于一周 
    的第一天是星期日的标准,如果想获得星期数,请使用 DayOfWeek 函数。 
    Tip: To make the return value more readable, use the Day of week constants. ●function DayOfTheYear(const AValue: TDateTime): Word; 描述: 
    根据给定的日期时间参数AValue,使用 DayOfTheYear 函数能得到在该日期所在的年份中,该 
    日期按照顺序所计算的天数。因此,作为TDateTime类型的变量 “1月1日”在该函数所得到的 
    结果为 1 ,“1月2日”所得到的结果为 2,“2月1日”所得到的结果就为 32,依次类推。 ●function DayOfWeek(Date: TDateTime): Integer; Description DayOfWeek returns the day of the week of the specified date as an integer between 
    1 and 7, where Sunday is the first day of the week and Saturday is the seventh. Note: DayOfWeek is not compliant with the ISO 8601 standard, which defines Monday 
    as the first day of the week. For an ISO 8601 compliant version, use the DayOfTheWeek 
    function instead. 描述: 
    按照给定的TDateTime类型的参数Date,DayOfWeek 函数得到一周中的第几天,从1到7。 
    这里 星期日 是一周的第一天,而 星期六 是第七天。 ●function DaysBetween(const ANow, AThen: TDateTime): Integer; 描述: 
    根据两个TDateTime类型的日期时间变量 ANow 和 AThen,DaysBetween函数能得到两者之间的 
    天数的差距。 
    DaysBetween 仅仅根据天数的不同来计算。因此,对于 1999年12月31日 下午11点59分 到 
    2000年1月1日 11点58分,该函数得到的结果是 0,因为两者之间的时间差别还差 1 分钟才到 
    1 天。 ●function DaysInAMonth(const AYear, AMonth: Word): Word; 描述: 
    对于各定的 年份和月份,DaysInAMonth 函数能得到 该月份的总天数。 
    年份应该为 从 1 到 9999 
    月份应该为 从 1 到 12 ●function DaysInAYear(const AYear: Word): Word; 描述: 
    对于给定的年份,DaysInAYear函数能得到该年份的总天数。 
    年份应该为 1 到 9999。 ●function DaysInMonth(const AValue: TDateTime): Word; 描述: 
    根据给定的TDateTime类型的时间日期参数AValue,DaysInMonth函数能得到该月份的总天数。 ●function DaysInYear(const AValue: TDateTime): Word; 描述: 
    根据给定的TDateTime类型的时间日期参数AValue,DaysInYear函数能得到该年份的总天数。 ●function DaySpan(const ANow, AThen: TDateTime): Double; 描述: 
    根据两个TDateTime类型的日期时间参数ANow和AThen,DaySpan能得到在天数上的差距。 
    与 DaysBetween 函数不同,DaysBetween 函数 只是计算 整的天数,而 DaySpan函数会 
    将不足一天的数也得到。 
    注意:此函数返回的数值为 Double 型。 ☆ Month 开头的函数 ●function MonthOf(const AValue: TDateTime): Word; 描述: 
    根据给定的TDateTime类型的时间日期参数AValue,MonthOf函数能得到该年份的该月份数。 
    MonthOf返回数值为 1 到 12。 
    注意:MonthOf函数得到的数值与MonthOfTheYear函数相同 ●function MonthOfTheYear(const AValue: TDateTime): Word; 与MonthOf函数相同。 ●function MonthsBetween(const ANow, AThen: TDateTime): Integer; 描述: 
    根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份 
    上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似 
    值基于每个月份为 30.4375 天。不足一个月的数字将不被计算。 
    因此,例如,对于 2月1日 到 2月28日,MonthsBetween 返回的数值为 0。 
    同样,对于 2月1日 到 3月1日,MonthsBetween 返回的数值也是 0。 ●function MonthSpan(const ANow, AThen: TDateTime): Double; 描述: 
    根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份 
    上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似 
    值基于每个月份为 30.4375 天。与 MonthsBetween 函数不同,MonthsBetween函数不计算不足 
    一个月的数字,MonthSpan函数将会得到不足一个月的数字。 
    注意:此函数返回的类型为 Double ●function MonthStr(DateTime: TDateTime): string; Description HTTP message headers permit several formats for the representation of date and time 
    values. MonthStr converts a TDateTime value into a string representing the month. 
    MonthStr allows server applications to work with date values taken from HTTP request 
    messages, without worrying about the details of how they are formatted. ☆ Week 开头的函数 ●function WeekOf(const AValue: TDateTime): Word; 描述: 
    根据TDateTime类型的日期时间参数AValu,WeekOf函数会得到该星期为一年的第几个 
    星期。 ●function WeeksInAYear(const AYear: Word): Word; 描述: 
    WeeksInAYear 函数根据年份得到在该年份中共包含多少个星期。 
      

  7.   

    procedure GetLocaleFormatSettings(LCID: Integer; var FormatSettings: TFormatSettings);
      

  8.   

    设置系统时间
    uses shellapi;
        SetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_STIMEFORMAT,PChar('HH:mm:ss'));
        SetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SSHORTDATE,PChar('yyyy-MM-dd'));