处理日期的一个简单例子

wangin8181 2005-06-23 09:33:30
处理日期的一个简单例子.
计算出所选日期的月初,月末,周日,周六的日期,这里把一个星期设置为星期天-------星期六.
给大家参考一下,初学delphi,请大家指导.
代码
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
edtBMonth: TEdit;
Label3: TLabel;
edtEMonth: TEdit;
Label4: TLabel;
edtBWeek: TEdit;
Label5: TLabel;
edtEWeek: TEdit;
dtpSetupTime: TDateTimePicker;
procedure dtpSetupTimeChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.dtpSetupTimeChange(Sender: TObject);
var
Year, Month, Day, i: Word;
begin
i := DayOfWeek(dtpSetupTime.DateTime)-1;
//MessageDlg(IntToStr(i), mtInformation,[mbOk], 0);
DecodeDate(dtpSetupTime.DateTime, Year, Month, Day);
edtBMonth.Text := FormatDateTime('yyyy/MM/dd',EncodeDate(Year,Month,1));
if (Month <> 12) Then
edtEmonth.Text := FormatDateTime('yyyy/MM/dd',EncodeDate(Year,Month+1,1)-1)
else
edtEmonth.Text := FormatDateTime('yyyy/MM/dd',EncodeDate(Year+1,1,1)-1);
edtBWeek.Text := FormatDateTime('yyyy/MM/dd',dtpSetupTime.DateTime-i);
edtEWeek.Text := FormatDateTime('yyyy/MM/dd',dtpSetupTime.DateTime-i+6);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DateSeparator := '/';
dtpSetupTimeChange(Sender);
end;

end.
...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangin8181 2005-06-23
  • 打赏
  • 举报
回复
自己頂一下阿,嘻

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧