四、日期、时间函数
四、日期、時間函數
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)
總結
- 上一篇: TapinRadio Pro v2.15
- 下一篇: 【创业】PPLive创始人姚欣谈创业与融