问题-[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; 
在使用两位年份时的起始年份。

时间: 2024-10-11 19:01:57

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

如何在Win7电脑上增加新磁盘分区?

原文链接: https://www.cnblogs.com/haoxitong/p/9405497.html 我们在重装好系统Win7系统后有时会碰到需要新建磁盘分区的情况,这时我们再重装系统进行磁盘分区就有些过于麻烦了,其实我们可以利用Win7系统自身的磁盘管理功能来新建一个磁盘分区.下面好系统重装助手就来介绍一下好系统Win7系统电脑磁盘新建分区的方法. 好系统Win7系统电脑磁盘新建分区的方法 1.右键点击我的电脑,选择管理,在计算机管理界面点击左侧栏中的“磁盘管理”,选择一个可以压缩空间

关于使用dotnetbar开发winform程序在用户电脑上部署时问题

1.首先要安装两个软件 注意:先安装 DotNetBarSetupTrial_10503.msi,再安装DotNetBar_Patcher_10503.exe 2.安装exe文件时,可能会出现找不到文件GACUtil.exe文件 注意:找到一个GACUtil.exe文件拷贝到电脑C盘进行安装.(安装有vs的电脑上会有) 3.安装完成后可能会出现情况,报错不能正常运行 .Net Framework 数据提供程序要求 Microsoft Data Access Components(MDAC).请安

win7电脑上没有mySql服务解决

1.打开cmd 2.找到mysql bin路径 3.在mysql路径下输入mysqld.exe --install 4.mysql服务成功安装

关于C++编译的程序无法在新一台电脑上运行总结

最近在调用一个SDK调试一个主板的DPIO. 可是编译好的程序在开发电脑上运行没问题,到了新主板建立的电脑系统上就出问题. 总结了下要注意一下几方面. 1:程序本身要没有问题.至少在开发电脑系统环境下要运行的起来.这个不多说了. 2:程序的依赖文件要有,比如调用的DLL要在正确的目录下. 3:C++运行库.这个好像不同Studio版本开发的所需要的也不一样.但是有一个简便方法. a.在你所开发的使用的VS图标,属性->打开文件位置. b.找到如下目录C:\Program Files (x86)\

用VS2010编写的C++程序,在其他电脑上无法运行,提示缺少mfc100.dll的解决办法

问题: 在自己电脑上用VS2010编写的VC++程序(使用MFC库),不能在其他电脑上运行.双击提示: "无法启动此程序,因为计算机中丢失mfc100.dll 尝试重新安装该程序以解决此问题." 解决方案: 方案一 采用静态编译使用VS2010编译的程序在windowsxp中运行时,经常会出现找不到相关的DLL文件,我们可以使用静态编译的方法把这些运行依赖文件打包到*.exe中来,以减少对环境的依赖. 一般可以配置以下两项: 项目 -< **属性 -< 配置属性-<

在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统

本文介绍如何在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统. 花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报"cannot download the metalink and therefore the ISO"错误,解决后,又报"没有定义根文件系统",解决后在运行系统之后发现,此种方法会在启动时提示 "为/检查磁盘时发生严重错误 ",并且无法进入系统,折腾了半天,终于

在预装win8的电脑上换win7系统讲解

现在买电脑,如果电脑预装的系统是win8系统,那么这个电脑的默认启动模式应该就是UEFI模式,现在UEFI模式正在逐渐取代传统模式.UEFI启动需要一个独立的分区,它将系统启动文件和操作系统本身隔离,可以更好的保护系统的启动,这个模式能加快开机速度等一些优点. 下面说说如何在预装win8系统的电脑上安装win7系统 之前有很多朋友遇到一个装系统的问题,就是明明系统装好了,为什么开机还是进入不了系统,提示说找不到系统文件. 有两个方法可以解决在预装win8换win7系统出现的这个问题. 方法一:将

在win7系统的电脑上安装CentOS7双系统

今天在自己的win7笔记本上折腾linux,中间遇到了一些问题,以此记录. 以前偶尔玩过linux是在虚拟机上装了Ubuntu,但是在虚拟机上玩感觉不够真实,所以这次装双系统. 在安装前首先要有些准备工作: 在win7上预留出给CentOs的磁盘空间,具体步骤: 电脑-->右键管理-->存储(磁盘管理) 选择一个空间较大的磁盘 进行压缩 ,压缩完成后显示状态可用(切记不要对新压缩的磁盘进行分配,我在这里就出了问题,导致安装CentOS时,识别不到可分配的磁盘).我这里预留出60G磁盘(其实网上

写程序把三星默认的备忘录导到电脑上

[写程序把三星默认的备忘录导到电脑上] 1.在手机默认的备忘录是这样: 2.在备忘录选择全部,发送到电子邮件. 3.登录电邮下载日志文件.zip 打开发现备忘录的日志文件全部是这个格式:2013-11-01.18.21.36.vnt , 4.很显然这是unicode码,用等号连接的. 5. 写程序解码: 6. 完工,效果—— php代码: <?php header( 'Content-Type:text/html; charset=utf-8 ' ); // 列出 *.vnt 日志文件列表 $l