DELPHI下读取与设置系统时钟

本文介绍了在DELPHI下如何通过调用Windows API来读取和设置系统时钟。通过示例代码展示了如何将系统时间转换为字符串,以及如何将字符串转换回系统时间,并使用SetLocalTime函数更新系统时间。
在DELPHI下读取与设置系统时钟
很多朋友都想在自己的程序中显示系统时间
这在DELPHI中十分容易
利用DateToStr(Date)及TimeToStr(Time)函数即可实现。


二者的函数原型如下:
function DateToStr(Date:TDateTime):string;

function TimeToStr(Time:TDateTime):string;

其返回值均为String型。

在程序中我们可以这样使用:

Label1.Caption:=DateToStr(Date);

Lable2.Caption:=TimeToStr(Time);

二者分别调用了Delphi函数Date和Time读取系统日期和时间来实现的

但只能读系统时钟

而不能设置系统时钟。那么如何处理这一问题呢?这正是本文所要讨论的问题。

既然Delphi没有提供如此功能

但Delphi提供了调用WindowsAPI的接口。所以我们可以调用WindowsAPI函数来实现这一功能。具体方法如下:

procedure TForm1.Button1Click(Sender:TObject);

begin

Edit1.Text:='97/10/30 10:09:59'; //注意:控制面板内时间格式要为YY/MM/DD

end;

procedure TForm1.Button2Click(Sender:TObject);

var   systemtime:Tsystemtime;

DateTime:TDateTime;

begin

DateTime:=StrToDateTime(Edit1.text); //获得时间(TDateTime格式)

DateTimeToSystemTime(DateTime

systemtime); //把Delphi的TDateTime格式转化为API的TSystemTime格式

SetLocalTime(SystemTime); //设置系统时间

GetLocalTime(SystemTime); //读取系统时间

DateTime:=SystemTimeToDateTime(SystemTime); //把API的TSystemTime格式 转化为 Delphi的TDateTime格式

Edit2.Text:=DateTimeToStr(DateTime); //显示当前系统的时间

end;

另外

还有好多其它的Delphi函数和API函数供我们使用

如:  StrToDate、StrToTime、DateTimeToStr、StrToDateTime、DateTimeToSystemTime、SystemTimeToDateTime、DateTimeToTimeStamp、TimeStampToDateTimeCompareFileTime、DosDateTimeToFileTime、FileTimeToDosDateTime、FileTimeToLocalFileTime、FileTimeToSystemTime、GetFileTime、SetFileTime、GetSystemTime(格林威治时间)、SetSystemTime.GetSystemTimeAdjustment

SetSystemTimdAdjustment。


//TSystemTime的格式

PSystemTime = ^TSystemTime;

TSystemTime = record

wYear: Word;

wMonth: Word;

wDayOfWeek: Word; //当前的系统时间是星期几

wDay: Word;

wHour: Word;

wMinute: Word;

wSecond: Word;

wMilliseconds: Word;

end;

//TDateTime的格式

TDateTime = type Double
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值