四、日期、时间函数

四、日期、时间函数

1、Day()

功  能:得到日期型数据中的号数(1到31之间的整数值)。

语  法:Day ( date )

参  数:date:要得到号数的日期值。

返回值:Integer。函数执行成功时返回号数(1到31之间的整数值)。如果date参数的值为NULL,则Day()函数返回NULL。

示  例:These statements extract the day (31) from the date literal 1994-01-31 and set li_day_portion to that value:

integer li_day_portion

li_day_portion = Day(1994-01-31)

 

These statements check to be sure the date in sle_date is valid, and if so set li_day_portion to the day in the sle_date:

integer li_day_portion

IF IsDate(sle_date.Text) THEN

    li_day_portion = Day(Date(sle_date.Text))

ELSE

    MessageBox("Error", "This date is invalid: " + sle_date.Text)

END IF

 

2、DayName()

功  能:得到指定日期是一周中的星期几(例如,Sunday, Monday...)。

语  法:DayName ( date )

参  数:date:date类型值或变量。

返回值:String。函数执行成功时返回指定日期的星期表示(例如,Sunday, Monday...)。如果date参数的值为NULL,则DayName()函数返回NULL。

示  例:These statements evaluate the date literal 1993-07-04 and set day_name to Sunday:

string day_name

day_name = DayName(1993-07-04)

 

These statements check to be sure the date in sle_date is valid, and if so set day_name to the day in sle_date:

string day_name

IF IsDate(sle_date.Text) THEN

    day_name = DayName(Date(sle_date.Text))

ELSE

    MessageBox("Error", "This date is invalid: " + sle_date.Text)

END IF

 

3、DayNumber()

功  能:得到日期型数据是一星期中的第几天(用1到7之间的整数表示,星期天为1,星期一为2,...)。

语  法:DayNumber ( date )

参  数:date:date类型值或变量。

返回值:Integer。函数执行成功时返回指定日期是一星期中的第几天(用1~7表示,星期天为1,星期一为2,...)。如果date参数的值为NULL,则DayNumber()函数返回NULL。

示  例:These statements evaluate the date literal 1990-01-31 and set day_nbr to 4 (January 31, 1990, was a Wednesday):

integer day_nbr

day_nbr = DayNumber(1990-01-31)

 

These statements check to be sure the date in sle_date is valid, and if so set day_nbr to the number of the day in the sle_date:

integer day_nbr

IF IsDate(sle_date.Text) THEN

    day_nbr = DayNumber(Date(sle_date.Text))

ELSE

    MessageBox("Error", "This date is invalid: " + sle_date.Text)

END IF

 

4、DaysAfter()

功  能:得到两个日期间的天数。

语  法:DaysAfter ( date1, date2 )

参  数:date1:date类型,指定起始日期;

date2:date类型,指定终止日期。

返回值:Long。函数执行成功时得到两个日期之间的天数。如果date2的日期在date1的前面,那么DaysAfter()函数返回负值。如果任何参数的值为NULL,则DaysAfter()函数返回NULL。

示  例:1、This statement returns 4:

DaysAfter(2002-12-20, 2002-12-24)

2、This statement returns -4:

DaysAfter(2002-12-24, 2002-12-20)

3、This statement returns 0:

DaysAfter(2003-12-24, 2003-12-24)

4、This statement returns 5:

DaysAfter(2003-12-29, 2004-01-03)

5、If you declare date1 and date2 date variables and assign February 16, 2003, to date1 and April 28, 2003, to date2 as follows:

date date1, date2

date1 = 2003-02-16

date2 = 2003-04-28

then each of the following statements returns 71:

DaysAfter(date1, date2)

DaysAfter(2003-02-16, date2)

DaysAfter(date1, 2003-04-28)

DaysAfter(2003-02-16, 2003-04-28)

 

5、Hour()

功  能:得到时间值中的小时,采用24小时制。

语  法:Hour ( time )

参  数:time:time类型的值。

返回值:Integer。函数执行成功时得到time参数中的小时(00到23之间)。如果time参数的值为NULL,则Hour()函数返回NULL。

示  例:1、This statement returns the current hour:

Hour(Now())

2、This statement returns 19:

Hour(19:01:31)

 

6、Minute()

功  能:得到时间值中的分钟,有效值在00~59之间。

语  法:Minute ( time )

参  数:time:time类型的值。

返回值Integer。函数执行成功时得到time参数中的分钟(00到59之间)。如果time参数的值为NULL,则Minute()函数返回NULL。

示  例:This statement returns 1:

Minute(19:01:31)

 

7、Month()

功  能:得到日期值中的月份,有效值在1~12之间。

语  法:Month ( date )

参  数:date:date类型的值。

返回值:Integer。函数执行成功时得到date参数中的月份(1到12之间)。如果date参数的值为NULL,则Month()函数返回NULL。

示  例:This statement returns 1:

Month(1994-01-31)

 

These statements store in start_month the month entered in the SingleLineEdit sle_start_date:

integer start_month

start_month = Month(date(sle_start_date.Text))

 

8、Now()

功  能:得到客户机的当前系统时间,返回值为Time类型。

语  法:Now()

返回值:Time。该函数返回客户机的当前系统时间。

示  例:This statement returns the current system time.

Now()

 

This example displays the current time in the StaticText st_time. It keeps the time up-to-date by setting a timer that triggers a Timer event every 60 seconds. Code in the window's Open event displays the initial time and starts the timer. Code in the Timer event displays the time again.

The following code appears in the window's Open event script:

st_time.Text = String(Now(), "hh:mm")

Timer(60)

 

A single line in the Timer event script refreshes the time display:

st_time.Text = String(Now(), "hh:mm")

 

9、RelativeDate()

功  能:得到指定日期前多少天或后多少天的日期。

语  法:RelativeDate(date,n)

参  数:date:Date类型,指定基准日期

n:integer类型,指定天数。

返回值:Date。当n的值大于0时返回参数date指定日期后第n天的日期;当n的值小于0时返回参数date指定日期前第n天的日期。如果任何参数的值为NULL,则RelativeDate()函数返回NULL。

示  例:This statement returns 1990-02-10:

RelativeDate(1990-01-31, 10)

 

This statement returns 1990-01-21:

RelativeDate(1990-01-31,  - 10)

 

10、RelativeTime()

功  能:得到指定时间前多少秒或后多少秒的时间,采用24小时制。

语  法:RelativeTime ( time, n )

参  数:time:time类型,指定基准时间

n:long类型,指定秒数。

返回值:Time。当n的值大于0时返回参数time指定时间后第n秒的时间;当n的值小于0时返回参数time指定时间前第n秒的时间。如果任何参数的值为NULL,则RelativeTime()函数返回NULL。

示  例:This statement returns 19:01:41:

RelativeTime(19:01:31, 10)

This statement returns 19:01:21:

RelativeTime(19:01:31,  - 10)

 

11、Second()

功  能:得到时间值中的秒,有效值在00~59之间。

语  法:Second ( time )

参  数:time:time类型的值。

返回值:Integer。函数执行成功时得到time参数中的秒(00到59之间)。如果time参数的值为NULL,则Second()函数返回NULL。

示  例:This statement returns 31:

Second(19:01:31)

 

11、Second()

功  能:得到时间值中的秒,有效值在00~59之间。

语  法:Second ( time )

参  数:time:time类型的值。

返回值:Integer。函数执行成功时得到time参数中的秒(00到59之间)。如果time参数的值为NULL,则Second()函数返回NULL。

示  例:This statement returns 31:

Second(19:01:31)

 

12、SecondsAfter()

功  能:得到两个时间之间的秒数。让前一个时间比后一个时间早时,该函数的值为正数;两者相等时为零;反之则为负数。

语  法:SecondsAfter ( time1 , time2 )

参  数:time1:time类型的值,要度量的时间间隔的起始值;

time2:time类型的值,要度量的时间间隔的结束值;

返回值:Long。函数执行成功时返回起始时间和结束时间之间的秒数。如果任何参数的值为NULL,则函数返回NULL。

示  例:This statement returns 15:

SecondsAfter(21:15:30, 21:15:45)

 

This statement returns -15:

SecondsAfter(21:15:45, 21:15:30)

 

This statement returns 0:

SecondsAfter(21:15:45, 21:15:45)

 

If you declare start_time and end_time time variables and assign 19:02:16 to start_time and 19:02:28 to end_time as shown below:

time start_time, end_time

start_time = 19:02:16

end_time = 19:02:28

then each of these statements returns 12:

SecondsAfter(start_time, end_time)

SecondsAfter(19:02:16, end_time)

SecondsAfter(start_time, 19:02:28)

SecondsAfter(19:02:16, 19:02:28)

 

13、Today()

功  能:得到当前系统日期,在某些情况下,同时得到当前系统时间。

语  法:Today()

返回值:Date。该函数返回当前系统日期。

用  法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。

再如,Today()函数作为数据窗口控件SetItem()函数的参数,该函数参数中指定的数据窗口列的数据类型为DateTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。

示  例:This statement returns the current system date:

Today()

 

This statement executes some statements when the current system date is before April 15, 2003:

IF Today() < 2003-04-15 THEN ...

 

This statement displays the current date in the StaticText st_date in the corner of a window:

st_date.Text = String(Today(), "m/d/yy")

 

This statement displays the current date and time in the StaticText st_date:

st_date.Text = String(Today(), "m/d/yy hh:mm")

 

14、Year()

功  能:得到日期值中的年度(有效取值1000到3000)。

语  法:Year(date)

参  数:date:date类型的值。

返回值:Integer。函数执行成功时得到date参数中的年份(采用四位数字),发生错误时返回1900,如果date参数的值为NULL,则Year()函数返回NULL。

用  法:当应用程序把有两位数字表示年份的字符串转换成日期时,PowerBuilder根据下述规则选择世纪:如果年份值在00到49之间,PowerBuilder将年份中的世纪(前两位数字)当作20;如果年份值在50到99之间,PowerBuilder将年份中的世纪(前两位数字)当作19。比如,字符串"20-10-25"被PowerBuilder转换为2020-10-25;字符串"98-10-25"被PowerBuilder转换为1998-10-25。因此,如果应用程序中需要指定1950年之前的日期,应该使用四位数字表示年份,以避免引起歧义。PowerBuilder能够处理的年份从1000到3000之间。

示  例:This statement returns 1995:

Year(1995-01-31)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值