由于近期大量使用了一些日期的获取和计算。还有字符串和日期的互相转换。总觉得一是总结一下,一个是对比一下C++中一些时间操作,我们要如何方便的操作。这些都需要做一些接口使用。毕竟游戏服务器,后期任务案子,主要是靠每天不同时段去调用不同的脚本去实现。貌似在C++我暂时用到的很少,可以的话需要去整理一个时间库。
delphi中主要是DateUtils中各种对时间和日期的操作,比如DayOfTheWeek取TDatetime的星期几,Dateof获取TDateTime中的日期,timeof获取TDateTime中的时间。
字符串和TDateTime转换。DateToStr,strToData等等一系列的操作。在做具体时间应用的时候,比较方便。貌似C++中暂时我还没有用的比较合适的接口。难道这是C++强大的一面,要自己写接口和封装。
最近比较用的多的就是IncDate、CompareTime,EncodeDate,EncodeTime,DecodeDateTime,DecodeTime.
这个库里面基本包含了大部分的日期算法和比较,后期有时间准备把他们整理成一个方便的C++库。具体实例如下:
week := YearOf(Date); --获取当前年
week := MonthOf(Date);--获取当前月
week := DayOf(Date); --获取当前日
week := WeekOf(Date); --获取当前是第几周
week := DayOfTheYear(Date); --当前时间是本年的第几天
week := DayOfTheMonth(Date);--当前时间是本月的第几天
week := DayOfTheWeek(Date); --当前时间是本周的第几天
week := WeekOfTheYear(Date); --当前时间是本年的第几周
week := WeekOfTheMonth(Date);--当前时间是本月的第几周
week := DaysInYear(Date); --本年的总天数
week := DaysInMonth(Date);--本月的总天数
week := WeeksInYear(Date);--本年的总周数
week := IncYear(Date, 整数参数); --当前时间加上N年
week := IncMonth(Date, 整数参数); --当前时间加上N月【SysUtils.pas】
week := IncDay(Date, 整数参数); --当前时间加上N日(也可以直接:Date + 1)
week := IncHour(Date, 整数参数); --当前时间加上N时
week := IncMinute(Date, 整数参数); --当前时间加上N分
week := IncSecond(Date, 整数参数); --当前时间加上N秒
week := IncMilliSecond(Date, 整数参数);--当前时间加上N毫秒
week := DayOfWeek(Date) - 1; --当前时间是星期几, 0 :表示 星期日【SysUtils.pas】