• 问题-[Delphi7]程序在WIN7电脑上的日期错误处理


    问题现象:我想大家都遇到过在XP上没有问题的日期格式,到了WIN7之后就不行了。

    问题原因:因为在WIN7中增加了新的日期格式,但是老的DELPHI未处理(如果我说错了,希望高人指点)。

    问题处理:

    function StrToDateWin7(DateStr: string): TDateTime;
    var
      T: TDateTime;
      Fs: TFormatSettings;
    begin
      try
        Fs.ShortDateFormat := 'yyyy-mm-dd';
        Fs.DateSeparator := '-';
        T := StrToDate(DateStr, Fs);
      except
        T := StrToDate('1899-01-01', Fs);
      end;
      Result := T;
    end;

    PS:

    DateSeparator :Char

    日期分隔符,用于分隔年月日 
    TimeSeparator :Char 
    时间分隔符,用于分隔小时,分钟,秒 
    ShortDateFormat:String 
    区域设置中短日期格式的定义。 
    LongDateFormat :String 
    区域设置中长日期格式的定义。 
    ShortTimeFormat:String 
    区域设置中短时间格式的定义。 
    LongTimeFormat :String 
    区域设置中长时间格式的定义。 
    TimeAMString :String 
    用来表示上午的字符串 
    TimePMString :String 
    用来表示下午的字符串 
    ShortMonthNames:array[1..12] of String; 
    用于缩略表示月份名称的数组,就是在使用FormatDateTime时显示的mmm标识的字符串 
    LongMonthNames:array[1..12] of String; 
    用于完整表示月份名称的数组,就是在使用FormatDateTime时显示的mmmm标识的字符串 
    ShortDayNames :array[1..7] of String; 
    用于缩略表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串 
    LongDayNames :array[1..7] of String; 
    用于完整表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串 
    TwoDigitYearCenturyWindow:Word = 50; 
    在使用两位年份时的起始年份。

  • 相关阅读:
    转:Backbone源码分析-Backbone架构+流程图
    PHP标记、
    虚拟机
    PHP学习的第一天
    对基础班的总结
    JS
    基础班学习总结
    react-router-dom
    vuecli3 自适应pc端界面
    vuecli内使用hotcss做移动端适配
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/4654695.html
Copyright © 2020-2023  润新知