搜档网
当前位置:搜档网 › Delphi 日期时间函数讲解

Delphi 日期时间函数讲解

Delphi 日期时间函数讲解
Delphi 日期时间函数讲解

各种时间类型之间的转换函数

DateTimeToFileDate函数:

定义:DateTimeToFileDate(DateTime: TDateTime): Integer;

作用:将一个TDateTime类型的时间转化为Dos环境中的时间,Dos环境下对时间的访问

方法和VCL中的TdateTime类型不一样,在进行文件操作时,为了保持时间的一致性,需

要使用DateTimeToFileDate函数进行转化,返回的Integer的值就是Dos下的用于描述时

间的值。

DateTimeToSystemTime 过程:

定义:procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TS

ystemTime);

作用:将一个TDateTime类型的时间转换为Win API函数所使用的TSystemTime类型,在使

用WinApi函数操纵时间时用到。

SystemTimeToDateTime 函数:

定义:function SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTim

e;

作用:将一个在WinApi函数中得到的TSysTemTime类型的数转换为TDateTime类型。DateTimeToTimeStamp 函数:

TimeStampToDateTime 函数:

定义:DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;

function TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime;

作用:用于在TDataTime类型与TTimeStamp之间进行互相转换。TDataTime 用一个doubl

e描绘一个时间,而TTimeStamp则是采用两个整形数分别描述时间。两种类型的区别可参

考文章开始处的数据类型描述部分。

EncodeDate 函数:

定义:function EncodeDate(Year, Month, Day: Word): TDateTime;

作用:输入年(year),月(month),日(day)的值,将该日期返回为TDateTime类型,年

的范围为1-9999,月份的范围为1-12,日期的范围视当月的情况而定,如果输入的值超出

范围,则将产生一个EConvertError错误。

DecodeDate 过程:

定义:procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word); 作用:输入一个TDateTime类型的日期,将其转为年(Year),月(Month),日(Day)

的值。

如果输入值为0或小于0,则年月日均为0,

EncodeTime 函数:

定义:EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;

作用:输入小时(Hour),分(min),秒(Sec),微秒(MSec)的值,返回一个TDateTime

类型的

时间,该值为一个介于0至1之间的小数。Hour的取值范围为0-23,Min的取值范围为0-59

,Sec的取值范围为0-59,MSec的取值范围为0-999,如果输入值超出范围,则产生一个EC

onvertError 错误。

DecodeTime 过程:

定义:procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);

作用:输入一个时间,将其转换为小时(Hour),分(min),秒(Sec),微秒(MSec)的值。TDateTime类型与字符串型转换函数:

DateTimeToStr 函数:

DateToStr 函数

TimeToStr函数

定义:function DateTimeToStr(DateTime: TDateTime): string;

function TimeToStr(Time: TDateTime): string;

function TimeToStr(Time: TDateTime): string;

作用:将一个TDateTime类型的数转换成字符串,DateTimeToStr转换日期和时间,Date

ToStr只转换日期,TimeToStr只转换时间。转换后的输出效果为YYYY-M-D H:M:S

StrToDateTime函数

StrToDate函数

StrToTime函数

定义:function StrToDateTime(const S: string): TDateTime;

function StrToDate(const S: string): TDateTime;

function StrToTime(const S: string): TDateTime;

作用:将带有日期时间格式的字符串转化成TDateTime,其中S必须是一个有效的字符串

,如

YY-MM-DD HH:MM:SS格式,否则就会触发EConvertError事件,提示错误信息。

时间部分的字符串必须是由2~3个的数值字串构成,并且采用在Windows 区域设置

中设置的分隔字符进行分隔,其格式要求符合在Windows区域设定中的设定,其中HH,MM(

小时,分钟)必须添加,SS(秒)可选,也可以在后面加入 Am和Pm区分上下午,这时候

系统将认为采用12小时表示法,否则认为采用24小时表示法。

日期部分的格式要求符合Windows区域设置中的短日期格式,也是由2~3个的数值

字串构成,如果在字符串中只有2个数,则认为是指定了月份和日期,年份采用当前年份

如果在区域设置中采用两位年份的表示方法,则系统将会采用以下方法处理:

首先在区域设置中取得两位年份的起始年份,如在区域设置中设两位年份范围为

1932-2031年,则起始年份为32年,如果这个起始年份为0,则认为两位年份表示的都是

本世纪,如果其实年份大于0 ,则采用当前年份减去起始年份的值,这个值称为基准值

,大于等于这个值则认为事本世纪,否则认为是下世纪,下面给出几个例子说明:DateTimeToString 过程:

FormatDateTime 函数:

定义:procedure DateTimeToString(var Result: string; const Format: string; D

ateTime: TDateTime);

function FormatDateTime(const Format: string; DateTime: TDateTime): s

tring;

作用:通过定义Format字串中的格式得到要输出时间字符串,例如要输出“今天是2002

年5月5日,星期五”就可以用这两种方法,这两个方法的作用相同,只是一个是通过共

享变量取得输出字符串,值在Result中,一个是通过返回值取得输出字符串,DateTime

参数是希望输出的日期值,Format由格式标志与附加字符串组合而成。附加字串用””

圈起,就像C中的Printf函数.如“今天是2002年5月5日,星期五”的Format 值就是‘”

今天是”yyyy”年”mm”月”dd”日,” dddd’,yyyy,mm,dd,dddd都是格式标识,各

种格式标识的解释如下:

d :用一位或两位整数显示日子(1-31)

dd :用两位整数显示日子,不足两位的用0补足(01-31)

ddd :按缩略方式显示当前的星期号,如果Windows是英文版,则显示为Mon

-Sun,如果是中文版,则显示同dddd。

dddd :按完整方式显示当前的星期号,如Windows是英文版,则显示Monday-

SumDay,如果是中文版,则显示星期一~星期日

ddddd :按区域设置中的短日期格式输出。

dddddd :按区域设置中的长日期格式输出。

m :用一位或两位整数显示月份(1-12)

mm :用两位整数显示月份,不足两位的用0补足(01-12)

mmm :使用缩略方式显示月份名称,英文版显示为Jan-Dec,中文版同mmmm

mmmm :使用完整方式显示月份名称,英文版显示为

January-December,中文版

为一月~十二月

yy :按两位整数方式显示年份(00-99)

yyyy :按四位整数方式显示年份(0000-9999)

h :用一位或两位整数显示小时(0-23)

hh :用两位整数显示小时,不足两位的用0补足(00-23)

n :用一位或两位整数显示分钟(0-60)

nn :用两位整数显示分钟,不足两位的用0补足(00-60)

s :用一位或两位整数显示秒数(0-60)

ss :用两位整数显示秒数,不足两位的用0补足(00-60)

z :用一位至两位整数显示毫秒数(0-999)

zzz :用三位整数显示毫秒数,不足三位的用0补足(000-999)

tt :按照区域设置中的格式显示日期

am/pm :用于12小时制的显示,带有AM的则表示从0点~12点,pm代表从12点~

0点。

与时间相关的变量:

Delphi封装了区域设置的各种信息,并以此定义了一系列的变量,下面介绍与时间相关

的部分变量:

DateSeparator :Char

日期分隔符,用于分隔年月日

TimeSeparator :Char

时间分隔符,用于分隔小时,分钟,秒

ShortDateFormat:String

区域设置中短日期格式的定义。

LongDateFormat :String

区域设置中长日期格式的定义。

ShortTimeFormat:String

区域设置中短时间格式的定义。

LongTimeFormat :String

区域设置中长时间格式的定义。

TimeAMString :String

用来表示上午的字符串

TimePMString :String

用来表示下午的字符串

ShortMonthNames:array[1..12] of String;

用于缩略表示月份名称的数组,就是在使用FormatDateTime时显示的mmm标识的字符串

LongMonthNames:array[1..12] of String;

用于完整表示月份名称的数组,就是在使用FormatDateTime时显示的mmmm标识的字符串

ShortDayNames :array[1..7] of String;

用于缩略表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串

LongDayNames :array[1..7] of String;

用于完整表示星期名称的数组,就是在使用FormatDateTime时显示的ddd标识的字符串

TwoDigitYearCenturyWindow:Word = 50;

在使用两位年份时的起始年份。

Day 开头的函数

Unit

DateUtils

function DateOf(const AValue: TDateTime): TDateTime;

描述

使用 DateOf 函数用来把一个 TDateTime 类型的变量转变成一个

只带有日期的 TDateTime 类型变量。

例如:

showmessage(DateTimetostr(dateof(now())));

你得到的是 2003/03/19

而 showmessage(DateTimetostr((now())));

得到的是 2003/03/19 10:50:49

●function DateTimeToStr(DateTime: TDateTime): string;

描述

DateTimeToString 函数将 TDateTime 类型的参数 DateTime 转换成一个

字符串,使用给定的全局变量 ShortDateFormat 的格式,时间部分按照

给定的全局变量 LongTimeFormat 的格式。

其中 DateTime 为零的部分将不会显示出来。

例如:

ShortDateFormat:='yyyy mm dd';

showmessage(DateTimetostr((now())));

你将得到:2003 03 19 10:50:49

●procedure DateTimeToString(var Result: string; const Format: string; DateTime: TDateTime);

描述:

DateTimeToString 方法将TDateTime类型的参数DateTime 按照由参数Format提供的格式

转化成字符串,并保存在Result中。

对于Format的格式类型,请看 Date-Time format strings 的帮助。

例如:

DateTimeToString(result,'yyyy mm dd',now());

那么 result的结果为:2003 03 19 10:50:49

●procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);

描述:

有时为了调用API函数来使用系统时间,你可以使用 DateTimeToSystemTime 方法,来将一个

TDateTime 类型的时间变量转换成一个 TSystemTime 类型的系统时间。

●function DateTimeToUnix(const AValue: TDateTime ): Int64;

描述:

使用 DateTimeToUnix 函数来将一个 TDateTime 型时间变量转换成一个相应的Unix 格式

的日期和时间。

Unix date-and-time values are encoded as the number of seconds that have elapsed

since midnight at the start of January 1, 1970.

●function DateToStr(Date: TDateTime): string;

描述:

使用 DateToStr 函数能得到 TDateTime 日期时间类型的日期部分。日期的转换格式依赖于

全局变量 ShortDateFormat。

●function DayOf(const AValue: TDateTime): Word;

描述:

对于给定的TDateTime类型的日期时间,使用 DayOf 函数能得到该日期是该月份的第几天。

该函数的返回数值在 1 到 31 之间

注意:DayOf 函数得到的结果与 DayOfTheMonth 相同。

例如:

showmessage(inttostr(dayof(now)));

得到的是:19 (今天是某月19日)

●function DayOfTheMonth(const AValue: TDateTime): Word;

与 DayOf 相同。

●function DayOfTheWeek(const AValue: TDateTime): Word;

描述:

对于给定的TDateTime类型的日期时间,使用 DayOfTheWeek 函数能得到该日期是该星期的

第几天。DayOfTheWeek 函数的返回数值为 1 到 7,其中 1 表示星期一,而 7 表示星期日。

注意:DayOfTheWeek 是 ISO 8601 标准的(此标准为星期一是一周的第一天)。对于一周

的第一天是星期日的标准,如果想获得星期数,请使用 DayOfWeek 函数。

Tip: To make the return value more readable, use the Day of week constants.

●function DayOfTheYear(const AValue: TDateTime): Word;

描述:

根据给定的日期时间参数AValue,使用 DayOfTheYear 函数能得到在该日期所在的年份中,该

日期按照顺序所计算的天数。因此,作为TDateTime类型的变量“1月1日”在该函数所得到的

结果为 1 ,“1月2日”所得到的结果为 2,“2月1日”所得到的结果就为 32,依次类推。

●function DayOfWeek(Date: TDateTime): Integer;

Description

DayOfWeek returns the day of the week of the specified date as an integer between

1 and 7, where Sunday is the first day of the week and Saturday is the seventh.

Note: DayOfWeek is not compliant with the ISO 8601 standard, which defines Monday

as the first day of the week. For an ISO 8601 compliant version, use the DayOfTheWeek

function instead.

描述:

按照给定的TDateTime类型的参数Date,DayOfWeek 函数得到一周中的第几天,从1到7。

这里星期日是一周的第一天,而星期六是第七天。

●function DaysBetween(const ANow, AThen: TDateTime): Integer;

描述:

根据两个TDateTime类型的日期时间变量 ANow 和 AThen,DaysBetween函数能得到两者之间的

天数的差距。

DaysBetween 仅仅根据天数的不同来计算。因此,对于 1999年12月31日下午11点59分到

2000年1月1日 11点58分,该函数得到的结果是 0,因为两者之间的时间差别还差 1 分钟才到

1 天。

●function DaysInAMonth(const AYear, AMonth: Word): Word;

描述:

对于各定的年份和月份,DaysInAMonth 函数能得到该月份的总天数。

年份应该为从 1 到 9999

月份应该为从 1 到 12

●function DaysInAYear(const AYear: Word): Word;

描述:

对于给定的年份,DaysInAYear函数能得到该年份的总天数。

年份应该为 1 到 9999。

●function DaysInMonth(const AValue: TDateTime): Word;

描述:

根据给定的TDateTime类型的时间日期参数AValue,DaysInMonth函数能得到该月份的总天数。

●function DaysInYear(const AValue: TDateTime): Word;

描述:

根据给定的TDateTime类型的时间日期参数AValue,DaysInYear函数能得到该年份的总天数。

●function DaySpan(const ANow, AThen: TDateTime): Double;

描述:

根据两个TDateTime类型的日期时间参数ANow和AThen,DaySpan能得到在天数上的差距。

与 DaysBetween 函数不同,DaysBetween 函数只是计算整的天数,而 DaySpan 函数会

将不足一天的数也得到。

注意:此函数返回的数值为 Double 型。

☆ Month 开头的函数

●function MonthOf(const AValue: TDateTime): Word;

描述:

根据给定的TDateTime类型的时间日期参数AValue,MonthOf函数能得到该年份的该月份数。

MonthOf返回数值为 1 到 12。

注意:MonthOf函数得到的数值与MonthOfTheYear函数相同

●function MonthOfTheYear(const AValue: TDateTime): Word;

与MonthOf函数相同。

●function MonthsBetween(const ANow, AThen: TDateTime): Integer;

描述:

根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份

上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似

值基于每个月份为 30.4375 天。不足一个月的数字将不被计算。

因此,例如,对于 2月1日到 2月28日,MonthsBetween 返回的数值为 0。

同样,对于 2月1日到 3月1日,MonthsBetween 返回的数值也是 0。

●function MonthSpan(const ANow, AThen: TDateTime): Double;

描述:

根据两个给定的TDateTime类型的参数ANow和AThen,MonthsBetween函数能得到两个日期在月份

上差距数。因为月份的天数是不同的,所以 MonthsBetween 函数返回的是一个近似值,该近似

值基于每个月份为 30.4375 天。与 MonthsBetween 函数不同,MonthsBetween函数不计算不足

一个月的数字,MonthSpan函数将会得到不足一个月的数字。

注意:此函数返回的类型为 Double

●function MonthStr(DateTime: TDateTime): string;

Description

HTTP message headers permit several formats for the representation of date and time

values. MonthStr converts a TDateTime value into a string representing the month.

MonthStr allows server applications to work with date values taken from HTTP request

messages, without worrying about the details of how they are formatted. ☆ Week 开头的函数

●function WeekOf(const AValue: TDateTime): Word;

描述:

根据TDateTime类型的日期时间参数AValu,WeekOf函数会得到该星期为一年的第几个

星期。

●function WeeksInAYear(const AYear: Word): Word;

描述:

WeeksInAYear 函数根据年份得到在该年份中共包含多少个星期。

●function WeeksBetween(const ANow, AThen: TDateTime): Integer;

描述:

根据两个TDateTime类型的日期时间参数ANow和AThen,WeeksBetween函数将得到这两个时间在

星期上的差数。如果差数不足一个星期,则忽略掉。

●function WeekSpan(const ANow, AThen: TDateTime): Double;

描述:

根据两个TDateTime类型的日期时间参数ANow和AThen,WeeksBetween函数将得到这两个时间在

星期上的差数。如果差数不足一个星期,则WeekSpan函数不会忽略掉。

注意:此函数的返回类型为 Double

☆ Year 开头的函数

●function YearOf(const AValue: TDateTime): Word;

描述:

根据给定的TDateTime类型的日期时间参数AValue,YearOf函数能得到该日期的年份数字。

YearOf函数返回的数值为从 1 到 9999

●function YearsBetween(const ANow, AThen: TDateTime): Integer;

描述:

根据两个给定的TDateTime类型的参数ANow和AThen,YearsBetween函数能得到两个日期在年份

上差距数。因为年份的天数是不同的,所以 YearsBetween 函数返回的是一个近似值,该近似

值基于每年的天数为 365.25 天。不足的一年的差距将不会被计算。

因此例如:对于 1月1日和12月31日,如果这两个日期在同一年,则 YearsBetween 返回数值

为 0;如果这两个日期在临近的年份,则 YearsBetween 函数返回数值为 1。

●function YearSpan(const ANow, AThen: TDateTime): Double;

描述:

根据两个给定的TDateTime类型的参数ANow和AThen,YearsBetween函数能得到两个日期在年份

上差距数。因为年份的天数是不同的,所以 YearsBetween 函数返回的是一个近似值,该近似

值基于每年的天数为 365.25 天。与 YearsBetween 函数不同,YearsBetween函数将忽略掉不

足一年的数字,而 YearSpan 将计算不足一年的数字。

注意:该函数返回类型为Double

●function Yesterday: TDateTime;

描述:

Yesterday函数能得到当前日期的前一天的日期,返回数值中不包括时间部分。

例如:

当前日期是 2003/3/19

则 showmessage(datetimetostr(Yesterday));

将得到 2003/3/18

☆日期的合成

●function EncodeDate(Year, Month, Day: Word): TDateTime;

描述:

EncodeDate函数将根据参数年份、月份、日子而得到一个TDateTime类型的时间变量。

●function EncodeDateDay(const AYear, ADayOfYear: Word): TDateTime;

描述:

EncodeDateDay将根据参数年份和天数,而得到一个TDateTime类型的时间变量。其中AYear 为 1 到 9999。

ADayOfYear 为日子在该年份顺序排列的天数,例如,1月1日时,ADayOfYear为1,2月2日时,ADayOfYear为2,3月1日时,ADayOfYear为32。

●function EncodeDateMonthWeek(const AYear, AMonth, AWeekOfMonth: Word; const ADayOfWeek: Word =

1): TDateTime;

描述:

EncodeDateMonthWeek 函数将根据参数年份、月份、星期数,星期几,来得到一个TDateTime类型

的时间变量。

其中AYear 为 1 到 9999。

其中AMonth 为 1 到 12。

AWeekOfMonth是在该月份的星期数,1 表示第一个星期,可能包含4天或更多的天数。

注意,一个月的第一天如果是星期5,星期6或星期日,用表示这三天的AMonth 数值必须设定

为上一个月份的数字,同时 AWeekOfMonth 要设为在上一个月所在的星期数。

同样,如果一个月的最后一天是星期1,星期2,或星期3,那么用表示这三天的AMonth数值

必须设定为下一个月份的数字,同时 AWeekOfMonth 为 1。

ADayOfWeek表示星期几,星期一为1,星期二为2。

●function EncodeDateTime(const AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond:

Word):TDateTime;

描述:

EncodeDateTime 根据参数年份、月份、日子、小时、分、秒、毫秒来得到一个TDateTime类型

日期时间。

●function EncodeDateWeek(const AYear, AWeekOfYear: Word; const ADayOfWeek: Word = 1): TDateTime;

描述:

EncodeDateWeek 根据参数年份、星期数、星期几来得到一个TDateTime类型日期时间。

AWeekOfYear是在该年份的星期数,1 表示第一个星期,可能包含4天或更多的天数。

注意,一年的第一天如果是星期5,星期6或星期日,用表示这三天的AYear数值必须设定

为上一个年份的数字,同时 AWeekOfYear 要设为在上一个年所在的星期数。

同样,如果一年的最后一天是星期1,星期2,或星期3,那么用表示这三天的AYear 数值

必须设定为下一个年份的数字,同时 AWeekOfYear 为 1。

ADayOfWeek表示星期几,星期一为1,星期二为2。

●function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;

描述:

EncodeTime函数根据参数小时、分、秒、毫秒得到个一个TDateTime数值。

☆日期的分解

●procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);

描述:

DecodeDate从一个TDateTime类型参数Date中分解出得到年份、月份、日子。

●procedure DecodeDateDay(const AValue: TDateTime; out AYear, ADayOfYear: Word);

描述:

DecodeDateDay 方法会根据TDateTime类型参数AValue 得到相应的年份和日期总数。

ADayOfYear:1月1日,此数值为1;1月2日,此数值为2。

●procedure DecodeDateMonthWeek(const AValue: TDateTime; out AYear, AMonth, AWeekOfMonth,

ADayOfWeek: Word);

描述:

DecodeDateMonthWeek方法根据TDateTime类型参数AValue 得到相应的年份、月份、月份中的第几个

星期、星期几

AYear:年份

AMonth:月份,1 到 12

AWeekOfMonth:在该月份中的第几个星期

ADayOfWeek:星期几。星期一为1。

●procedure DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay, AHour, AMinute,

ASecond, AMilliSecond: Word);

描述:

DecodeDateTime 方法根据TDateTime类型参数AValue 得到相应的年份、月份、日子、小时、分、秒、

毫秒。

●procedure DecodeDateWeek(const AValue: TDateTime; out AYear, AWeekOfYear, ADayOfWeek: Word);

描述:

DecodeDateWeek方法根据TDateTime类型参数AValue 得到相应的年份、在该年中的第几个星期、星期几。

本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) 1.概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法. 通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个: Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。 Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。 epoch:时间点。时间点在标准C/C++中是一个整数,它用此时的时间和标准时间点相差的秒数(即日历时间)来表示。 clock tick:时钟计时单元(而不把它叫做时钟滴答次数),一个时钟计时单元的时间长短是由CPU控制的。一个clock tick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。 我们可以使用ANSI标准库中的time.h头文件。这个头文件中定义的时间和日期所使用的方法,无论是在结构定义,还是命名,都具有明显的C语言风格。下面,我将说明在C/C++中怎样使用日期的时间功能。 2.计时 C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下: clock_t clock( void ); 这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义: #ifndef _CLOCK_T_DEFINED

日期与时间函数 DATE 返回代表特定日期的序列号。如果在键入函数前,单元格格式为“常规”,则结果将设为日期格式。 语法 DATE(year,month,day) Year 参数year 可以为一到四位数字。 ?如果year 位于0(零)到1899(包含)之间,则WPS表格会将该值加上1900,再计算年份。例如:DATE(108,1,2)将返回2008 年1 月 2 日(1900+108)。 ?如果year 位于1900 到9999(包含)之间,则WPS表格将使用该数值作为年份。 例如:DATE(2008,1,2)将返回2008 年 1 月 2 日。 ?如果year 小于0 或大于等于10000,则WPS表格将返回错误值#NUM!。 Month 代表每年中月份的数字。如果所键入的月份大于12,将从指定年份的一月份开始往上加算。例如:DATE(2008,14,2)返回代表2009 年2 月 2 日的序列号。 Day 代表在该月份中第几天的数字。如果day 大于该月份的最大天数,则将从指定月份的第一天开始往上累加。例如,DATE(2008,1,35)返回代表2008 年 2 月4 日的序列号。 示例 如果您将示例复制到空白工作表中,可能会更易于理解该示例。 DATEVALUE 返回date_text 所表示的日期的序列号。函数DATEVALUE 的主要功能是将以文本表示的日期转换成一个序列号。

语法 DATEVALUE(date_text) Date_text 代表以WPS表格日期格式表示的日期的文本。例如,"2008-1-30" 或"30-Jan-08" 就是带引号的文本,它用于代表日期。在使用WPS表格时,date_text 必须表示1900 年 1 月1 日到9999 年1 2 月31 日之间的一个日期。如果date_text 超出范围,则函数 DATEVALUE 返回错误值#VALUE!。 如果省略date_text 中的年份部分,则函数DATEVALUE 使用计算机系统内部时钟的当前年份。date_text 中的时间信息将被忽略。 说明 ?WPS表格可将日期存储为可用于计算的序列号。默认情况下,1900 年1 月1 日的序列号是1,而2008 年 1 月 1 日的序列号是39448,这是因为它距1900 年 1 月 1 日有39448 天。 ?大部分函数都会自动将日期值转换成序列号。 示例 如果您将示例复制到空白工作表中,可能会更易于理解该示例。 注意若要查看序列号所代表的日期,请选择该日期所在的单元格,单击“格式”菜单上的“单元格”,再单击“数字”选项卡,然后单击“分类”框中的“日期”。 DATEDIF DATEDIF函数,主要用于计算两个日期之间的天数、月数或年数。其返回的值是两个日期之间的年\月\日间隔数。

[标准函数和过程] 首部 procedure Abort;$[SysUtils 功能引起放弃的意外处理。 说明不显示任何错误信息。 首部 function Abs(N: ): ;$[System 功能返回参数N的绝对值。 说明函数结果与参数有相同类型,参数可以是整型也可以是浮点型。 ## Abs(-12) = 12;Abs(-12.03) = 12.03 首部 procedure AddExitProc(Proc: TProcedure);$[SysUtils 功能将旧版本某一过程添加到当前版本运行的库的结束过程表中。 说明只能向下兼容,不能用在当前使用版本的 首部 function Addr(X): Pointer;$[System 功能返回指定对象的内存地址。 说明地址运算符 @ 可以产生与Addr相同的结果。 首部 procedure AddTerminateProc(TermProc: TTerminateProc);$[SysUtils 功能将一过程添加到运行时库的终止过程表中。 说明 Delphi 在程序结束时将终止该程序的全部进程,可以终止的进程都放在终止过程表中,程序通过结束终止过程表所有的进程来实现终止全部进程的目的。 首部 function AdjustLineBreaks(const S: string): string;$[SysUtils 功能将给定字符串的行分隔符调整为Cr/Lf序列。 说明 首部 function AllocMem(Size: Cardinal): Pointer;$[SysUtils 功能在堆栈上分配给定大小为 Size字节的块,即在内存里开辟Size 大小的空间。 说明 Cardinal 0..4294967295 32位无符号整数 首部 function AnsiCompareFileName(const S1, S2: string): Integer;$[SysUtils 功能比较两个文件名的大小。不区分大小写。 说明条件返回值 S1 > S2 | > 0 S1 < S2 | < 0 S1 = S2 | = 0 首部 function AnsiCompareStr(const S1, S2: string): Integer;$[SysUtils 功能比较两个字符串的大小。要区分大小写。 说明参见AnsiCompareFileName。 首部 function AnsiCompareText(const S1, S2: string): Integer;$[SysUtils 功能返回两个字符串是否相同的状态。不区分大小写。 说明参见AnsiCompareFileName。 首部 function AnsiExtractQuotedStr(var Src: PChar; Quote: Char):string;$[SysUtils 功能将引用字串转换成结束引语返回。 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiLastChar(const S: string): PChar;$[SysUtils 功能取参数S的最后一个字符,并转换成以null结束的字符串指针返回。 说明 ##AnsiLastChar(‘Sysoft’) = {‘t\0’}; 首部 function AnsiLowerCase(const S: string): string;$[SysUtils 功能将字符串S转换为小写返回。 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiLowerCaseFileName(const S: string): string;$[SysUtils 功能将文件名S转换成小写返回 说明函数支持多字节字符系统[MBCS]。 首部 function AnsiPos(const Substr, S: string): Integer; $[SysUtils 功能返回子串Substr出现在主串S中的第一个位置。 说明 首部 function AnsiQuotedStr(const S: string; Quote: Char): string; $[SysUtils 功能返回引用字串的译文 说明 首部 function AnsiStrComp(S1, S2: PChar): Integer; $[SysUtils 功能比较两个指针字符串的大小。要区分大小写。 说明参见AnsiCompareFileName。

mysql 中时间和日期函数 一、MySQL 获得当前日期时间函数 1.1获得当前日期+时间(date + time)函数:now() mysql>select now(); +---------------------+ | now() | +---------------------+ |2008-08-0822:20:46| +---------------------+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_timestamp ,localtime() ,localtime ,localtimestamp -- (v4.0.6) ,localtimestamp() -- (v4.0.6) 这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。 1.2获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了: mysql>select now(), sleep(3), now(); +---------------------+----------+---------------------+ | now() | sleep(3) | now() | +---------------------+----------+---------------------+ |2008-08-0822:28:21|0|2008-08-0822:28:21| +---------------------+----------+---------------------+ mysql>select sysdate(), sleep(3), sysdate(); +---------------------+----------+---------------------+

excel使用日期和时间函数公式 excel使用日期和时间函数公式excel如何显示当前日期函数公式 显示当前年份函数:【=year(now())】 显示当前月份函数:【=month(now())】 显示当前日期函数:【=day((now()))】 显示当前星期函数:【=text(now(),"aaaa")】 显示当前准确时间:【=text(now(),"hh:mm:ss")】 显示当前年月日:【=today()】 显示当前年月日和时间:【=now()】 使用方法:直接在某单元格输入以上函数公式即可获得结果。 excel如何通过日期判断星期几 通过日期显示星期几:【=weekday(a2,2)】 通过日期显示中文带星期:【=text(a2,"aaaa")】 通过日期计算中文星期:【=text(a4,"aaa")】 通过日期计算英文星期简写:【=text(a5,"ddd")】 通过日期计算英文星期:【=text(a5,"dddd")】 使用方法:指定输入日期的单元格,输入以上函数公式即可获取星期。 excel如何求月份天数函数 求某日期的月份天数:

【=day(date(year(a2),month(a2)+1,0))】使用方法:需要指定包含日期的单元格。 直接求当前月份天数:【=day(eomonth(now(),0))】使用方法:直接在某单元格输入以上公式即可获取天数。 求当前月份天数减去周六和周日:【=sumproduct(--(mod(row(indirect(date(year(now()),month (now()),1)&":"&date(year(now()),month(now())+1,0))),7)>1 ))】使用方法:直接在某单元格输入以上公式即可获取天数。 excel快捷键快速获取日期时间 当然,在有些情况下,我们可以直接通过excel快捷键来获取当前的日期和时间。 获取当前年月日快捷键:【ctrl+;】 获取当前时间快捷键:【ctrl+shift+;】 获取年月日和时间:先在单元格使用【ctrl+;】,然后空格在使用快捷键【ctrl+shift+;】

C语言中的时间处理函数收藏 来源:https://www.sodocs.net/doc/ea17874646.html,/8892167_d.html C语言时间函数 [原创 2007-04-16 23:30:50] C语言的标准库函数包括一系列日期和时间处理函数,它们都在头文件中说明。下面列出了这些函数。在头文件中定 义了三种类型:time_t,struct tm和clock_t。在头文件 中说明的C语言时间函数 time_t time(time_t *timer); double difftime(time_t time1,time_t time2); struct tm *gmtime(const time_t *timer); struct tm *localtime(const time_t *timer); char *asctime(const struct tm *timeptr); char *ctime(const time_t *timer); size_t strftime(char *s,size_t maxsize,const char *format,const struct tm *timeptr); time_t mktime(struct tm *timeptr); clock_t clock(void); 下面是我从网上收集到的时间函数集 asctime(将时间和日 期以字符串格式表示)相关函数 time,ctime,gmtime,localtime 表头文件#i nclude 定义函数 char * asctime(const struct tm * timeptr); 函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真 实世界所使用的时间日期表示方法,然后将结果以字符串形 态返回。此函数已经由时区转换成当地时间,字符串格式为:"Wed Jun 30 21:49:08 1993\n" 返回值若再调用相关的 时间日期函数,此字符串可能会被破坏。此函数与ctime不 同处在于传入的参数是不同的结构。附加说明返回一字符 串表示目前当地的时间日期。范例#include

一个windows自带的画图工具是无论如何也不能满足我们的画图需要的,很多效果都需要我们在另外的工具中来实现。这些高级的功能是如何实现的呢,如何操纵一些基本的属性和函数,让它们最终能作出我们想要的效果呢?这里我们以绘制统计图来说明这些问题。 解决思路―― 这里,我们暂且先撇开具体的问题,综合地一下讨论画图的问题。 画图工具是基本元素的具体实现,对于我们初学者来说,还是有很好的参考价值的,在delphi 5中有一个自带的工程例子“……Borland\Delphi5\Demos\Doc\Graphex”,这个例子可以实现一些基本的绘图功能。对这个例子多加修改,一定会有所收获的。这里就不列出它的详细代码了,有心的读者可以自己找到这个例子。我这里只是想综合地讨论这方面的问题。使用DELPHI编写绘图软件的灵魂就在于操作画布,画笔和刷子,尽可能地挖掘它们的属性和相关参数的设置。 (一)画布 画布,画笔和刷子之间的关系很明了.其实,画笔和刷子都是画布的一个属性.而画布也只是TForm,TImage,TShape等组件对象的一个属性,专门负责与图象相关的信息打交道.它的主要作用可以概括如下几点: 1.指定使用画笔,刷子和字体的使用类型; 2.绘制和填充指定形状的线或图形; 3.修饰和改变图象; 画布的主要属性有: Brush--指定填充图形和背景的样式 CanvasOrientation--指定画布的定位类型,有coLeftToRight, coRightToLeft两个属性; ClipRect--指定剪切矩形的边界; CopyMode--指定图形图象的复制模式; Font--指定画布上使用的字体; Handle--为画布指定窗口GDI对象的设备描述表; LockCount--指定画布被别的线程锁定的次数; Pen--指定画布上使用的画笔,具体见下面描述; PenPos--指定画笔当前的位置; Pixels--指定当前剪切矩形的象素颜色; TextFlags--指定字体在画布上的显示方式,有ETO_CLIPPED,ETO_OPAQUE,ETO_RTLREADING,ETO_GL YPH_INDEX,ETO_IGNORELANGUAGE,ETO_NUMERICSLOCALETO_NUMERIC SLATIN等值可选; 画布相关的API函数及其注释如下: Arc--按指定方式画一条弧; BrushCopy--把位图复制到指定的画布的矩形中,用画布刷子颜色替换位图的颜色; Chord--按指定方式画弦; CopyRect--从一个矩形区域复制部分图象到另一个矩形区域; Draw--用指定参数在指定位置画图; DrawFocusRect--按指定焦点风格,通过异或操作来绘制一焦点矩形; Ellipse--按指定参数画一椭圆; FillRect--按指定的刷子填充一矩形; FloodFill--使用当前选定的刷子填充指定设备描述表中的一块区域;

14.1 分解与抽象 人类解决复杂问题采用的主要策略是“分而治之”,也就是对问题进行分解,然后分别解决各个子问题。著名的计算机科学家Parnas认为,巧妙的分解系统可以有效地系统的状态空间,降低软件系统的复杂性所带来的影响。对于复杂的软件系统,可以逐个将它分解为越来越小的组成部分,直至不能分解为止。这样在小的分解层次上,人就很容易理解并实现了。当所有小的问题解决完毕,整个大的系统也就解决完毕了。 在分解过程中会分解出很多类似的小问题,他们的解决方式是一样的,因而可以把这些小问题,抽象出来,只需要给出一个实现即可,凡是需要用到该问题时直接使用即可。 案例日期运算 给定日期由年、月、日(三个整数,年的取值在1970-2050之间)组成,完成以下功能: (1)判断给定日期的合法性; (2)计算两个日期相差的天数; (3)计算一个日期加上一个整数后对应的日期; (4)计算一个日期减去一个整数后对应的日期; (5)计算一个日期是星期几。 针对这个问题,很自然想到本例分解为5个模块,如图14.1所示。 图14.1日期计算功能分解图 仔细分析每一个模块的功能的具体流程: 1. 判断给定日期的合法性: 首先判断给定年份是否位于1970到2050之间。然后判断给定月份是否在1到12之间。最后判定日的合法性。判定日的合法性与月份有关,还涉及到闰年问题。当月份为1、3、5、7、8、10、12时,日的有效范围为1到31;当月份为4、6、9、11时,日的有效范围为1到30;当月份为2时,若年为闰年,日的有效范围为1到29;当月份为2时,若年不为闰年,日的有效范围为1到28。

图14.2日期合法性判定盒图 判断日期合法性要要用到判断年份是否为闰年,在图14.2中并未给出实现方法,在图14.3中给出。 图14.3闰年判定盒图 2. 计算两个日期相差的天数 计算日期A (yearA 、monthA 、dayA )和日期B (yearB 、monthB 、dayB )相差天数,假定A 小于B 并且A 和B 不在同一年份,很自然想到把天数分成3段: 2.1 A 日期到A 所在年份12月31日的天数; 2.2 A 之后到B 之前的整年的天数(A 、B 相邻年份这部分没有); 2.3 B 日期所在年份1月1日到B 日期的天数。 A 日期 A 日期12月31日 B 日期 B 日期1月1日 整年部分 整年部分 图14.4日期差分段计算图 若A 小于B 并且A 和B 在同一年份,直接在年内计算。 2.1和2.3都是计算年内的一段时间,并且涉及到闰年问题。2.2计算整年比较容易,但

function ArcCos(const X : Extended) : Extended; overload; function ArcCos(const X : Double) : Double; overload; function ArcCos(const X : Single) : Single; overload; function ArcSin(const X : Extended) : Extended; overload; function ArcSin(const X : Double) : Double; overload; function ArcSin(const X : Single) : Single; overload; function ArcTan2(const Y, X: Extended): Extended; procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register; function Tan(const X: Extended): Extended; function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } function Secant(const X: Extended): Extended; { 1 / cos(X) } function Cosecant(const X: Extended): Extended; { 1 / sin(X) } function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI } function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI } function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180} function DegToGrad(const Degrees: Extended): Extended; function DegToCycle(const Degrees: Extended): Extended; function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 } function GradToDeg(const Grads: Extended): Extended; function GradToCycle(const Grads: Extended): Extended; function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended; function CycleToGrad(const Cycles: Extended): Extended; { Hyperbolic functions and inverses } function Cot(const X: Extended): Extended; inline; { alias for Cotan } function Sec(const X: Extended): Extended; inline; { alias for Secant } function Csc(const X: Extended): Extended; inline; { alias for Cosecant } function Cosh(const X: Extended): Extended; function Sinh(const X: Extended): Extended; function Tanh(const X: Extended): Extended; function CotH(const X: Extended): Extended; inline; function SecH(const X: Extended): Extended; inline; function CscH(const X: Extended): Extended; inline; function ArcCot(const X: Extended): Extended; { IN: X <> 0 } function ArcSec(const X: Extended): Extended; { IN: X <> 0 } function ArcCsc(const X: Extended): Extended; { IN: X <> 0 } function ArcCosh(const X: Extended): Extended; { IN: X >= 1 } function ArcSinh(const X: Extended): Extended;

常用日期型函数 1。Sysdate 当前日期和时间 SQL> Select sysdate from dual; SYSDA TE ---------- 21-6月-05 2。Last_day 本月最后一天 SQL> Select last_day(sysdate) from dual; LAST_DAY(S ---------- 30-6月-05 3。Add_months(d,n) 当前日期d后推n个月 用于从一个日期值增加或减少一些月份 date_value:=add_months(date_value,number_of_months) SQL> Select add_months(sysdate,2) from dual; ADD_MONTHS ---------- 21-8月-05 4。Months_between(f,s) 日期f和s间相差月数 SQL> select months_between(sysdate,to_date('2005-11-12','yyyy-mm-dd'))from dual; MONTHS_BETWEEN(SYSDA TE,TO_DA TE('2005-11-12','YYYY-MM-DD')) ---------------------------------------------------------- -4.6966741 5。NEXT_DAY(d, day_of_week) 返回由"day_of_week"命名的,在变量"d"指定的日期之后的第一个工作日的日期。参数"day_of_week"必须为该星期 中的某一天。 SQL> SELECT next_day(to_date('20050620','YYYYMMDD'),1) FROM dual; NEXT_DAY(T ---------- 26-6月-05 6。current_date()返回当前会话时区中的当前日期

select @bq=cast(year(getdate()) as varchar(4))+'年'+right('0'+cast(month(getdate()) as varchar(2)),2)+'月' select round(convert(money,111325,20)/6,2) select CONVERT(char(100),getdate(),120) convert(char(10),租赁_认租合同.合同起始日期,121) 通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DA TEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DA TEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。你可以通过@@DATEFIRST 函数来检查第一天设置。 为了理解这些例子,我们先复习一下DATEDIFF和DA TEADD函数。DA TEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。DA TEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。要了解更多的DATEDIFF和DATEADD函数以及时间间隔可以阅读微软联机帮助。 使用DATEDIFF和DATEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同。你必须从时间间隔这个方面来考虑。比如,从当前日期到你要得到的日期之间有多少时间间隔,或者,从今天到某一天(比如1900-1-1)之间有多少时间间隔,等等。理解怎样着眼于时间间隔有助于你轻松的理解我的不同的日期计算例子。 一个月的第一天 第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DA TEDIFF和DATEADD函数来计算我们想要的日期。每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DA TEDIFF(mm,0,getdate()), 0) 我们把这个语句分开来看看它是如何工作的。最核心的函数是getdate(),大部分人都知道这

日期和时间函数 功能说明 DATE返回特定日期的序列号 DATEVALUE将文本格式的日期转换为序列号 DAY将序列号转换为月份日期 DAYS360以一年360 天为基准计算两个日期间的天数 EDATE返回用于表示开始日期之前或之后月数的日期的序列号EOMONTH返回指定月数之前或之后的月份的最后一天的序列号HOUR将序列号转换为小时 MINUTE将序列号转换为分钟 MONTH将序列号转换为月 NETWORKDAYS返回两个日期间的全部工作日数 NOW返回当前日期和时间的序列号 SECOND将序列号转换为秒 TIME返回特定时间的序列号 TIMEVALUE将文本格式的时间转换为序列号 TODAY返回今天日期的序列号 WEEKDAY将序列号转换为星期日期 WEEKNUM将序列号转换为代表该星期为一年中第几周的数字WORKDAY返回指定的若干个工作日之前或之后的日期的序列号YEAR将序列号转换为年 YEARFRAC返回代表start_date 和end_date 之间的整天天数的年分数

查找和引用函数 全部显示函数说明 ADDRESS以文本形式将引用值返回到工作表的单个单元格 AREAS返回引用中涉及的区域个数 CHOOSE从值的列表中选择值 COLUMN返回引用的列号 COLUMNS返回引用中包含的列数 HLOOKUP查找数组的首行,并返回指定单元格的值 HYPERLINK创建快捷方式或跳转,以打开存储在网络服务器、Intranet 或Internet 上的文档 INDEX使用索引从引用或数组中选择值 INDIRECT返回由文本值指定的引用 LOOKUP在向量或数组中查找值 MATCH在引用或数组中查找值 OFFSET从给定引用中返回引用偏移量 ROW返回引用的行号 ROWS返回引用中的行数 RTD从支持COM 自动化的程序中检索实时数据 TRANSPOSE返回数组的转置 VLOOKUP在数组第一列中查找,然后在行之间移动以返回单元格的值

Delphi函数大全 首部function Languages: TLanguages; $[ 功能返回系统语言对象 说明通过此函数可以得到系统的语言环境 参考type 例子 12a12c12a12c. 参考 例子:= IsValidIdent; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToStr(Value: Integer): string; overload; $[ 首部function IntToStr(Value: Int64): string; overload; $[ 功能返回整数Value转换成字符串 说明Format('%d', [Value]) 参考function 例子:= IntToStr; ━━━━━━━━━━━━━━━━━━━━━ 首部function IntToHex(V alue: Integer; Digits: Integer): string; overload; $[ 首部function IntToHex(V alue: Int64; Digits: Integer): string; overload; $[ 功能返回整数Value转换成十六进制表现结果;Format('%.*x', [Digits, Value]) 说明参数Digits指定字符最小宽度;最小宽度不足时将用0填充 参考function 例子:= IntToHex, ; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToInt(const S: string): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时将引起异常 参考procedure 例子:= StrToInt; ━━━━━━━━━━━━━━━━━━━━━ 首部function StrToIntDef(const S: string; Default: Integer): Integer; $[ 功能返回字符串S转换成整数 说明字符串非整数表达时则返回默认值Default 参考procedure 例子:= StrToIntDef, 0); ━━━━━━━━━━━━━━━━━━━━━ 首部function TryStrToInt(const S: string; out Value: Integer): Boolean; $[ 功能返回字符串S转换成整数V alue是否成功 说明字符串非整数表达时返回False并且Value将输出为0 参考procedure 例子 ..);打开失败则返回负数 参考function

Excel函数应用教程:日期时间函数 1.DATE 用途:返回代表特定日期的序列号. 语法:DATE(year,month,day) 参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel forMacintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day代表在该月份中第几天的数字。如果 day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。 注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。 实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。 2.DATEVaLUE 用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。 语法:DATEVaLUE(date_text) 参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统 中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。 如果省略参数date_text中的年代,则函数DATEVaLUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。 实例:公式“=DATEVaLUE(”2001/3/5")”返回36955,DATEVaLUE(”2-26")返回36948. 3.DAY 用途:返回用序列号(整数1到31)表示的某日期的天数,用整数 1 到31 表示。 语法:DAY(serial_number)

1.DATE 用途:返回代表特定日期的序列号。 语法:DATE(year,month,day) 参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel for Macintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day 代表在该月份中第几天的数字。如果day 大于该月份的最大天数时,将从指定月份的第一天开始往上累加。 注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。 实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。 2.DATEVaLUE 用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。 语法:DATEVaLUE(date_text) 参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。 如果省略参数date_text中的年代,则函数DATEVaLUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。 实例:公式“=DATEVaLUE("2001/3/5")”返回36955,DATEVaLUE("2-26")返回36948。 3.DAY 用途:返回用序列号(整数1到31)表示的某日期的天数,用整数1 到31 表示。 语法:DAY(serial_number) 参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示的1998年1月30日),以及其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。 实例:公式“=DAY("2001/1/27")”返回27,=DAY(35825)返回30, =DAY(DATEVaLUE("2001/1/25"))返回25。 4.DAYS360 用途:按照一年360天的算法(每个月30天,一年共计12 个月),返回两日期间相差的天数。 语法:DAYS360(start_date,end_date,method)

SQL日期与时间函数2009年02月04日星期三上午10:50sql server日期时间函数 Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数。 select datediff(day,'2004-09-01','2004-09-18') --返回:17 4. datepart 返回代表指定日期的指定日期部分的整数。 SELECT DATEPART(month, '2004-10-15') --返回10 5. datename 返回代表指定日期的指定日期部分的字符串 SELECT datename(weekday, '2004-10-15') --返回:星期五 6. day(), month(),year() --可以与datepart对照一下 select 当前日期=convert(varchar(10),getdate(),120) ,当前时间=convert(varchar(8),getdate(),114) select datename(dw,'2004-10-15') select 本年第多少周=datename(week,'2004-10-15') ,今天是周几=datename(weekday,'2004-10-15') 函数参数/功能 GetDate( ) 返回系统目前的日期与时间 DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值date2-date1 DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期 DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值 DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称 参数interval的设定值如下: 值缩写(Sql Server)Access 和ASP 说明 Year Yy yyyy 年1753 ~ 9999 Quarter Qq q 季1 ~ 4 Month Mm m 月1 ~ 12 Day of year Dy y 一年的日数,一年中的第几日1-366 Day Dd d 日,1-31

相关主题