zoukankan      html  css  js  c++  java
  • 问题-[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; 
    在使用两位年份时的起始年份。

  • 相关阅读:
    函数式接口
    方法引用
    接口组成更新
    .Net Framework4.5中Asp.net mvc使用Singal R轮训实现导入进度条功能
    .net mvc使用FlexPaper插件实现在线预览PDF,EXCEL,WORD的方法
    可编辑树Ztree的使用(包括对后台数据库的增删改查)
    使用chosen插件实现多级联动和置位
    在ASP.NET MVC中使用区域来方便管理controller和view
    使用datepicker日期插件
    Linq to sql中使用DateDiff()
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/4654695.html
Copyright © 2011-2022 走看看