本文讲述了Delphi读取系统时间与日期的实现方法,首先设置各个控件用于显示时间、读取时间与设置时间。再添加如下代码:
unit Unit1;
interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private {
Private declarations }
public {
Public declarations }
end;
var Form1: TForm1;
implementation{
$R *.DFM}
uses ShellAPI;
function SetSystemDateTime(Year, Month, Day, Hour, Minute, Second: word): integer;
export;
procedure SetDate(Year, Month, Day: Word);
assembler;
asm MOV CX,Year MOV DH,BYTE PTR Month MOV DL,BYTE PTR Day MOV AH,2BH INT 21H end;
procedure SetTime(Hour, Minute, Second, Sec100: Word);
assembler;
asm MOV CH,BYTE PTR Hour MOV CL,BYTE PTR Minute MOV DH,BYTE PTR Second MOV DL,BYTE PTR Sec100 MOV AH,2DH INT 21H end;
begin SetDate(Year, Month, Day);
SetTime(Hour, Minute + 1, Second, 0);
result := 1;
end;
procedure TForm1.Button1Click(Sender: TObject);
var st : TSYSTEMTIME;
begin //得到系统时间 GetSystemTime(st);
//显示系统时间 Memo1.Lines.Add('系统时间 = ' + IntToStr(st.wmonth) + '/' + IntToStr(st.wDay) + '/' + IntToStr(st.wYear) + ' ' + IntToStr(st.wHour) + ':' + IntToStr(st.wMinute) + ':' + IntToStr(st.wSecond));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin Memo1.Lines.Clear;
end;
procedure TForm1.Button2Click(Sender: TObject);
var st: TSYSTEMTIME;
begin DateTimeToSystemTime(StrToDatetime('2002-06-23 15:39:46' ),st);
SetSystemTime(st);
end;
end.