DELPHI7对日期格式的处理

本文介绍在DELPHI中如何通过TFormatSettings设置应用程序默认的日期和时间格式,以解决因WINDOWS系统默认短日期格式为yyyy/m/d而导致的字符串转换失败问题。通过调整FSetting的DateSeparator和ShortDateFormat属性,可以避免日期时间字符串转换为TDateTime时出现异常。

WINDOWS系统默认的短日期格式是:yyyy/m/d,在DELPHI中进行字符串互转时,经常会因为格式问题而转换失败,以前都是要求施工人员或客户手动修改系统的短日期格式为:yyyy-mm-dd来解决,近来无事找了一下相关资料,可以解决该问题

在应用程序打开时,可以通过TFormatSettings来设置应用程序的默认日期和时间格式

uses
  SysUtils, Windows;


GetLocaleFormatSettings(GetUserDefaultLCID,FSetting);
FSetting.DateSeparator := '-';
FSetting.ShortDateFormat := 'yyyy-mm-dd';
FSetting.ShortTimeFormat := '00:00';
FSetting.LongDateFormat := 'yyyy-mm-dd';
FSetting.LongTimeFormat := '00:00:00';

//日期时间字符串转换为TDateTime
sTime := FormatDateTime('yyyy-mm-dd hh:mm:ss',Now);
ADOQ.Fields[0].AsDateTime := StrToDateTime(sTime,FSetting);

通过FSetting来对日期时间格式的字符串进行TDateTime转换就不会再出现异常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值