if (month in (1,3,5,7,8,10,12)) return 31; else if (month in(4,6,9,11)) return 30; else if (year 是闰年) return 29; else return 28;  闰年的算法 ((year mod 4 = 0) and (year mod 100 <> 0)) or (year mod 400 = 0)…
import calendar monthRange = calendar.monthrange(2018, 10) (0, 31) 输出的是一个元组: 第一个元素,数字0是这个月的第一天是星期天(上一个月的最后一天为星期几(0-6)),星期天为0: 第二个元素,数字31是这个月的天数:…
--思路:给定日期的下一个月的1号减去1天,然后取datepart(DAY,dt) declare @dt varchar(10)select @dt='2013-11-20'select datepart(DAY,dateadd(dd,-1,left(convert(varchar(10),dateadd(mm,1,@dt),120),7)+'-01'))…
转自:https://www.2cto.com/kf/201806/755776.html 1 function getCountDays() { var curDate = new Date(); /* 获取当前月份 */ var curMonth = curDate.getMonth(); /* 生成实际的月份: 由于curMonth会比实际月份小1, 故需加1 */ curDate.setMonth(curMonth + 1); /* 将日期设置为0, 这里为什么要这样设置, 我不知道原因…
import java.util.Calendar; /** * 功能概述:计算指定年月的天数和周数<br> * 创建时间:2010-5-17 下午05:25:58<br> * * @author <a href="mailto:hemingwang0902@126.com" mce_href="mailto:hemingwang0902@126.com">何明旺</a> */ public class Test{ p…
原始连接 http://rvelthuis.blogspot.tw/2018/01/accessing-private-methods-of-another.html Accessing private methods of another class   In versions of Delphi before 10.1 Berlin, it was possible to access private members and private methods of a class simply…
import java.util.Calendar; /** * 功能概述:计算指定年月的天数和周数<br> */ public class Test{ public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, 2010); // 2010年 c.set(Calendar.MONTH, 5); // 6 月 System.out.println("…
function getDaysInOneMonth(year, month){ month = parseInt(month,10); var d= new Date(year,month,0); //这个是都可以兼容的var date = new Date(year+"/"+month+"/0") //IE浏览器可以获取天数,谷歌浏览器会返回NaN return d.getDate(); } var o = getDaysInOneMonth(2000,2);…
在Delphi中,Inifiles单元中有一个TStringHash的类,不过它的Value仅支持Integer(其实也不是问题,有其它类型可以将变量变为Pointer),有点不舒服,今天没事做就把它替换为variant了,其中Key的名称大小写无关,就是为了加快开发速度! 使用Hashtable,查找和删除复杂度都是常数级别的! type PPHashItem = ^PHashItem; PHashItem = ^THashItem; THashItem = record Next: PHas…
http://www.cnblogs.com/Murphieston/p/5577836.html 本文是为了加强记忆而写,这里写的大多数内容都是在编程的日常工作中使用频率不高的东西,但是又十分重要. ---Murphy ,构造和析构函数: a,构造函数: 一般基于TComponent组件的派生类,都应该使用overload关键字进行继承,Delphi中的对象没有什么复合的概念,在设计时,从简便的角度出发 一般都设计为耦合性较强,但是使用简单的派生类即可.构造函数不是必写的,除非“复合”这样的对…
1.首先是把winsck控件导入到delphi中,就是导入一个ActiveX控件,步骤略过. 2.将导入的winsck控件拖入你的Form中. 3.对winsck进行基本设置(IP,Port). 4.在winsck的dataarrival事件中进行数据接收. 使用winsck控件的getdata方法进行接收数据: 函数原型:GetData(Data,Type,maxLen) 用缓冲中的内容填充变量, 使其为空.   delphi中的使用:GetData(oleData, 8, bytesTota…
Delphi中的Free和Nil 在Delphi中释放对象资源时一般用Obj.Free(Obj为一个实例名),不过程Delphi中还有一个FreeAndNil(对象名)函数,那么用哪个好呢?Free和Nil的本质又都是什么呢? 在Delphi中一个对象名只是一个指向该对象的指针,可以有多个指针指向同一个对象地址.Nil是将指针置空,而Free则将指针指向的对象销毁掉.如下所示: Obj.Free; //将Obj所指向的对象销毁. Obj:= nil; //将Obj指针置空.如果将上面的一句放在后…
Calendar 类是一个抽象类,为日历字段之间的转换提供了一些方法.其中有一个重要方法 getActualMaximum ,该方法用于返回指定日历字段实际的最大值. 利用这个方法(Calendar.getActualMaximum),我们可以获得某年某月的天数. 代码如下: /** * 获得某个月最大天数 * * @param year 年份 * @param month 月份 (1-12) * @return 某个月最大天数 */ public int getMaxDayByYearMont…
在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天            int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek);            DateTime today = System.DateTime.Now.AddDays((-1) * (dayOfWeek==0?7:dayOfWeek) + 1); 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0…
关于用Delphi中的Indy控件实现收发邮件的几点学习记录             这几天心里颇不宁静,不是因为项目延期,而是因为自己几个月前做的邮件发送程序至今无任何进展,虽然一向谦虚的人在网上发贴总以“小弟”自称.也发过N多关于此类问题的贴子,但总是收益甚少,但也十分感谢参与贴子的各位同仁.必竟,用Indy控件实现收发邮件的例子太少了,于是小弟决定写一篇关于Indy收发邮件的文章,供大家参考.由于本人才疏学浅,故难免有不少谬误,还请各位见谅. 在做例子之前,应明白整个发送和接收邮件流程:…
业务场景: 我们经常会跑一些月级别或者周级别的报表. 周级别的报表还比较好确定,就是七天前的直接用timedelta(days=7)来获取开始日期就可以了; 但是月级别的报表就要麻烦一些,因为timedelta这个函数没有month这个参数,那我们怎么来获取一个月前的一号呢,还要考虑到这个月有多少天,会不会跨年,之类的... 我今天想到了一个简单的办法,分享给大家 有了这个办法,就不用再去判断闰年那些很麻烦的逻辑了 如果大家发现这个算法有什么问题可以指出来,共同学习 from datetime…
其实要了解这些东西,适当的学些反汇编,WINDOWS内存管理机制,PE结构,看下李维的VCL架构剖析可以很好理解type TMyEvent = procedure of object;这是一种数据类型的定义,他定义了一个可以在类中使用的函数类型区别于type TMyProc = procedure; TMyEvent 和 TMyProc 都定义了一个函数类型,他们的差别是,TMyProc 不可以用在类中定义事件,TMyEvent 却可以. 如果你想知道问什么,那就需要深入了解事件类型以及函数类型…
原文:[转]SQL SERVER 2005中如何获取日期(一个月的最后一日.上个月第一天.最后一天.一年的第一日等等) 在网上找到的一篇文章,相当不错哦O(∩_∩)O~ //C#本周第一天            int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek);            DateTime today = System.DateTime.Now.AddDays((-1) * (dayOfWeek==0?7:dayOfWee…
关于MySQL的TinyInt数据类型在Delphi中作为Boolean类型的一个要注意的问题: 在定义TinyInt类型字段时,若要作为Delphi中作为Boolean类型,则该字段的长度必须为1!…
报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出.网上查询了一些.NET 的C#例子,发现都实现的比较复杂,其实这个问题可以很简单的通过.NET的DateTime函数来实现,因为.NET中给我们提供了当前天数--System.DateTime.Now.Day函数,还有增加天和月份的AddDays和AddMonth函数.         于是我们可以这样设想,当前时间 - 当前天数 = 上个月截至时间, 而当前时间 - 1个月 - 当前天数 + 1 = 上个月起始时间…
https://blog.csdn.net/deepwishly/article/details/9101307 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate())-1, 0) --上个月的第一天 SELECT DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate()…
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = da…
返回处理后的数据,不同于round()(对数值进行四舍五入处理),该函数不对指定小数前或后的数值部分进行舍入处理. 语法:trunc(number[,decimals]) 其中,number为待做处理的数值,decimals为需要保留小数点后面的位数,即精度,默认值为0,此时将截去所有的小数部分. 数值处理: select trunc(123.45) as a,trunc(123.456,2) as b, trunc(123.45,-1) as c from dual ;…
使用php的strtotime实例:比如现在时间是“2017-07-06”,加一个月. echo date("Y-m-d", strtotime("+1 months", strtotime("2017-07-06"))); <?php echo(strtotime("now")); echo(strtotime("3 October 2005")); echo(strtotime("+5…
--当天: --最近三天: --本周: select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) --注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数 --本月: select * from T_news WHERE (DATEPART(yy, addtime)…
作者:韦易笑链接:https://www.zhihu.com/question/29636221/answer/45102191来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新:擦,本来只有一句话,推荐Qt,远离微软,有人追问,补充了点,有人又追问,又补充了点,然后出了趟门回来,感觉跟捅了马蜂窝一样.既然都说到微软了,那就接着展开一下. 问题的本源 微软就是战线太长了,忙着去主导各种标准,制订各种框架,这样的话,才能更好的夹带私货,用一个你必须用的东西推进另外一个他想让你用的东西,诸如…
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 var day = arr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = da…
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页</title> <script language="javascript"> function getLastDay(year,month) { var new_year = year;    //取当前的年份 var new_month = month++;//取下一个月的第一天,…
源:Delphi 中Format的字符串格式化使用说明(转) 一.Format函数的用法 Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明: function Format(const Format: string; const Args: array of const): string; overload; 事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用…
DELPHI中完成端口(IOCP)的简单分析(4)   在我以前写的文章中,一直说的是如何接收数据.但是对于如何发送数据却一点也没有提到.因为从代码量上来说接收的代码要比发送多很多.今天我就来写一下如何使用IOCP发送数据.   function TNetControl.SendSpecifyData(const Socket: TSocket; Data: array of char;  DataLen: Integer): Boolean;   const     DATA_BUFSIZE…