delphi StrToDateTime在win7或者控制面板中改过短日期格式出错
来源:互联网 发布:白色车牌js是什么意思 编辑:程序博客网 时间:2024/05/16 19:53
在XP系统中 将区域语言选项中的短日期格式改成
再使用StrToDateTime转换时间 则处理会异常
示例:
procedure TForm1.btn2Click(Sender: TObject);
var
dateTimeStr,str1:String;
ADateTime:TDateTime;
begin
dateTimeStr := '2013-12-22 10:18:26';
ADateTime := StrToDateTime(dateTimeStr);
// str1 := DateTimeToStr(ADateTime);
str1 := FormatDateTime('yyyy-mm-dd HH:MM:SS',ADateTime);
ShowMessage(str1);
end;
由于短日期的格式改变,导致ADateTime得到的值为41630 时间部分缺失了,根本原因是StrToDateTime的默认用系统的短日期格式进行转换的 在解析HH:MM:SS
部分时,由于系统的短日期格式变成了yyyy-mm-dd ddd导致后面的时间解析异常
解决办法就是不用系统的短日期格式 而是用自定义的短日期格式
示例:
procedure TForm1.btn1Click(Sender: TObject);
var
dateTimeStr,str1:String;
ADateTime:TDateTime;
FSetting : TFormatSettings;
begin
//GetLocaleFormatSettings(GetUserDefaultLCID, FSetting);
FSetting.ShortDateFormat := 'yyyy-MM-dd';
FSetting.DateSeparator:='-';
FSetting.LongTimeFormat:='HH:MM:SS';
FSetting.TimeSeparator:=':';
dateTimeStr := '2013-12-22 10:18:26';
ADateTime := StrToDateTime(dateTimeStr,FSetting);
// str1 := DateTimeToStr(ADateTime);
str1 := FormatDateTime('yyyy-mm-dd HH:MM:SS',ADateTime);
ShowMessage(str1);
end;
这个时候再看ADateTime的值为41630.429468 日期时间解析正确
- delphi StrToDateTime在win7或者控制面板中改过短日期格式出错
- 默认日期格式 不用在控制面板设置了
- 如何在Delphi中编写控制面板程序
- 在Delphi程序中调用控制面板设置功能
- 在Delphi程序中调用控制面板设置功能
- Delphi 有关日期时间的函数,以及StrToDateTime函数在不同系统出现错误的解决方案
- 日期格式yyyy-mm-dd ,yyyy/mm/dd 这样就不用在控制面板设置了
- Delphi使用StrToDatetime在不同操作系统出现不同的情况
- Delphi使用StrToDatetime在不同操作系统出现不同的情况
- Delphi中StrToDateTime函数TFormatSettings参数的使用
- Delphi中StrToDateTime函数TFormatSettings参数的使用
- Delphi中StrToDateTime函数TFormatSettings参数的使用
- gridview 中设置短日期格式
- win7中右击“计算机”点“管理” 则出现“该文件没有与之关联的程序来执行操作。请安装一个程序,或者,如果已安装程序,请在‘默认程序’控制面板中创建关联。”
- 在VB中启动控制面板
- Delphi中启动控制面板中的程序的例子
- Delphi 应用程序 在windows7 或者SP3下运行出错。解决方案。
- Delphi 开发控制面板程序
- IO-03. 求整数均值
- SICP1.3 MIT(PLT) Scheme实现(Lisp)
- javadoc注释规范
- 协议设计:简单通信协议的心跳
- 新的一年新的规划 转战Web开发
- delphi StrToDateTime在win7或者控制面板中改过短日期格式出错
- Linux软件安装
- Codec Engine 应用开发使用手册
- JAVA和环境变量的渊源
- 黑马程序员----java网络编程技术
- Oracle 日志的编写与查询的一种方法(还没写完)
- dll和lib
- 详谈面向对象的重载——>“函数重载”与“运算符重载”
- 问题与成长