当前位置:  开发笔记 > 开发工具 > 正文

改变今天的日期,推进一个月并设置系统时间

如何解决《改变今天的日期,推进一个月并设置系统时间》经验,为你挑选了1个好方法。

我想要一个函数的代码示例,该函数采用tDateTime和一个整数作为输入,并在将tDateTime推进(int)个月之后使用setlocaltime设置系统时间.时间应该保持不变.

伪代码示例

SetNewTime(NOW,2);

我遇到的问题相当令人沮丧.我不能使用incDth或类似的tDateTime,只能使用tDate等.



1> JosephStyons..:

下面是一个适合我的完整命令行程序.在Delphi 5和2007中测试过.为什么说IncMonth对TDateTime不起作用?

program OneMonth;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Messages;

procedure SetLocalSystemTime(settotime: TDateTime);
var
  SystemTime : TSystemTime;
begin
  DateTimeToSystemTime(settotime,SystemTime);
  SetLocalTime(SystemTime);
  //tell windows that the time changed
  PostMessage(HWND_BROADCAST,WM_TIMECHANGE,0,0);
end;

begin
  try
    SetLocalSystemTime(IncMonth(Now,1));
  except on E:Exception do
    Writeln(E.Classname, ': ', E.Message);
  end;
end.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有