delphi 年月日自动加一减一函数,月加一,月减一

月份减一月情况:

function GetLastMonth(ADate : TDateTime) : TDateTime;
var
  dwYear, dwMonth, dwDay : Word;
begin
  Result := ADate;
  Try
    DeCodeDate(ADate, dwYear, dwMonth, dwDay);
    Result := EncodeDate(dwYear, dwMonth, 1) - 1;
  except
  end;
end

月份增加一月情况:

function TForm1.GetLastMonth(ADate: TDateTime): TDateTime;
var
  dwYear, dwMonth, dwDay : Word;
begin
  Result := ADate;
  Try
    DeCodeDate(ADate, dwYear, dwMonth, dwDay);
    if dwMonth=12   then
    begin
    Result := EncodeDate(dwYear+1, 1, 1);
    end
    else
    Result := EncodeDate(dwYear, dwMonth+1, 1);
  except
  end;
end;

调用:

Edit1.Text:=DateTimeToStr(GetLastMonth(Date()));

时间: 2024-10-29 19:10:55

delphi 年月日自动加一减一函数,月加一,月减一的相关文章

mysql加减时间-函数-时间加减

1. MySQL 为日期增加一个时间间隔:date_add() set @dt = now(); select date_add(@dt, interval 1 day);   - 加1天 select date_add(@dt, interval 1 hour);   -加1小时 select date_add(@dt, interval 1 minute);    - 加1分钟 select date_add(@dt, interval 1 second); -加1秒 select date

js - 多个函数动态加载

//动态添加物流锁的IEMI列表. function createLi() { var r = '<s:property value="#session.locks"/>'; if (!r) return; //部门名称. var department = document.getElementById('department'); var departmentName = '<s:property value="#session.departmentNam

重拾单片机 第二天 数码管的使用 ( 按下加按键,数值增加直到最大值,按减按键,数值减小,直到最小值 )

1. 1 /*--------------www.szjcdz.cn-------------------- 2 名称:2按键加减操作 3 编写:szjcdz 4 日期:2010.9 5 内容:按下加按键,数值增加直到最大值,按减按键,数值减小,直到最小值 6 ------------------------------------------------*/ 7 #include<reg52.h> 8 #define uchar8 unsigned char 9 #define uint16

在类成员函数后面加const

在看开源代码时,经常会看到在类的成员函数后面加const,之前了没有太关注过,近来闲来无事,就想起这件事,网上查了一下,大概明白了是怎么回事,这里引用CSDN愽文里的段话:“编译器会自动给每一个函数加一个this指针.在一个类的函数后面加上const后,就表明这个函数是不能改变类的成员变量的(加了mutable修饰的除外).实际上,也就是对这个this指针加上了const修饰”.举个例子: class test { public: test(int a=10):aa(a){} ~test(){}

Delphi 如何解决在DLL的入口函数中创建或结束线程时卡死

先看一下使用Delphi开发DLL时如何使用MAIN函数, 通常情况下并不会使用到DLL的MAIN函数,因为delphi的框架已经把Main函数隐藏起来 而工程函数的 begin  end 默认就是MAIN函数的DLL_PROCESS_ATTACH事件的处理代码,如需要完整的处理其他事件, 如 DLL_PROCESS_DETACH,DLL_THREAD_ATTACH, DLL_THREAD_DETACH,可在工程文件中做如下处理: procedure DLLEntryPoint(Reason:D

js中调用函数时加不加括号的问题

其实总结起来如下:函数只要是要调用它进行执行的,都必须加括号.此时,函数()实际上等于函数的返回值.当然,有些没有返回值,但已经执行了函数体内的行为,这个是根本,就是说,只要加括号的,就代表将会执行函数体代码.不加括号的,都是把函数名称作为函数的指针,用于传参,此时不是得到函数的结果,因为不会运行函数体代码.它只是传递了函数体所在的地址位置,在需要的时候好找到函数体去执行. 所以一般时候我们都是采用的是无括号的原因.这也是由于括号的二义性,因为括号是"函数调用运算符",相当于在执行这样

类的成员函数后面加const有什么用(c++常问问题六)

每个类的成员函数都默认传入this指针,成员函数后面加了const后该成员函数将不能修改该类的成员了 class cat { public: cat(){}; string getName() const { this->m_strName = “”;//错误,const this不允许修改成员 return this->m_strName; //正确,没修改 } protected: string m_strName; }

Delphi TreeView – 自动展开树形结构

Delphi TreeView – 自动展开树形结构 当处理完TreeView控件树形结构的数据后,需要默认自动全部展开,可以用到TreeView的Expanded属性. 1 2 3 4 5 6 7 8 9 10 var       icount : integer; begin RzTreeView1.Items.EndUpdate; //示例中用的是Raize中的RzTreeView组件 for icount := 0 to RzTreeView1.Items.Count-1 do     

Delphi Canvas的FillRect(const Rect: TRect) 函数的作用

http://blog.163.com/[email protected]/blog/static/165262758201131211341460/ Delphi Canvas的FillRect(const Rect: TRect) 函数的作用 2011-04-12 11:34:14|  分类: Delphi|举报|字号 订阅 下载LOFTER我的照片书  | FillRect 函数功能:该函数用指定的画刷填充矩形. 用法://Delphi自带的帮助 var  Bitmap: TBitmap;