W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
ABAP毫不保留地引用了公歷日歷,在世界大部分地區(qū)有效。 我們可以將輸出轉(zhuǎn)換為特定國家/地區(qū)的日歷。 日期是指定到關(guān)于日歷的精確日,周或月的時(shí)間。 時(shí)間被指定為相對于一天的精確秒或分鐘。 ABAP總是以24小時(shí)格式節(jié)省時(shí)間。 輸出可以具有特定于國家的格式。 日期和時(shí)間通常被解釋為在當(dāng)前時(shí)區(qū)有效的本地日期。
ABAP提供了兩種內(nèi)置類型來處理日期和時(shí)間:
以下是基本格式:
DATA: date TYPE D, time TYPE T. DATA: year TYPE I, month TYPE I, day TYPE I, hour TYPE I, minute TYPE I, second TYPE I.
這兩種類型都是分別具有YYYYMMDD和HHMMSS格式的固定長度字符類型。
除了這些內(nèi)置類型,其他兩種類型 TIMESTAMP 和 TIMESTAMPL 在許多標(biāo)準(zhǔn)應(yīng)用程序表中用于存儲UTC格式的時(shí)間戳。 下表顯示了ABAP中可用的基本日期和時(shí)間類型。
編號 | 數(shù)據(jù)類型和說明 |
---|---|
1 | D 內(nèi)置的固定長度日期類型,格式為YYYYMMDD。 例如,值20100913表示2010年9月13日的日期。 |
2 | T 內(nèi)置固定長度時(shí)間類型,格式為HH MM SS。 例如,值102305表示時(shí)間10:23:05 AM。 |
3 | TIMESTAMP (類型P - 長度8無小數(shù)) 此類型用于表示YYYYMMDDhhmmss表單中的短時(shí)間戳。 例如,值20100913102305表示2010年9月13日上午10:23:05的日期。 |
4 | TIMESTAMPL (類型P - 長度11小數(shù)7) TIMESTAMPL表示YYYYMMDDhhmmss,mmmuuun表單中的長時(shí)間戳。 這里,附加數(shù)字“mmmuuun"表示秒的分?jǐn)?shù)。 |
以下代碼片段檢索當(dāng)前系統(tǒng)日期和時(shí)間。
REPORT YR_SEP_15. DATA: date_1 TYPE D. date_1 = SY-DATUM. Write: / 'Present Date is:', date_1 DD/MM/YYYY. date_1 = date_1 + 06. Write: / 'Date after 6 Days is:', date_1 DD/MM/YYYY.
上面的代碼產(chǎn)生以下輸出:
Present Date is: 21.09.2015 Date after 6 Days is: 27.09.2015
變量date_1分配有當(dāng)前系統(tǒng)日期SY-DATUM的值。 接下來,我們將日期值增加6.對于ABAP中的日期計(jì)算,這意味著我們將日期對象的日期組件增加6天。 ABAP運(yùn)行時(shí)環(huán)境足夠聰明,可以在每月結(jié)束時(shí)翻轉(zhuǎn)日期值。
時(shí)間計(jì)算與日期計(jì)算類似。 以下代碼使用基本時(shí)間算法將當(dāng)前系統(tǒng)時(shí)間增加75秒。
REPORT YR_SEP_15. DATA: time_1 TYPE T. time_1 = SY-UZEIT. Write /(60) time_1 USING EDIT MASK 'Now the Time is: __:__:__'. time_1 = time_1 + 75. Write /(60) time_1 USING EDIT MASK 'A Minute and a Quarter from Now, it is: __:__:__'.
上面的代碼產(chǎn)生以下輸出
Now the Time is 11:45:05 A Minute and a Quarter from Now, it is: 11:46:20
您可以使用 GET TIME STAMP 檢索當(dāng)前系統(tǒng)時(shí)間并將其存儲在時(shí)間戳變量中,如以下代碼所示。 GET TIME STAMP語句根據(jù)所使用的時(shí)間戳數(shù)據(jù)對象的類型以長指針或短指針格式存儲時(shí)間戳。 時(shí)間戳值使用UTC標(biāo)準(zhǔn)進(jìn)行編碼。
REPORT YR_SEP_12. DATA: stamp_1 TYPE TIMESTAMP, stamp_2 TYPE TIMESTAMPL. GET TIME STAMP FIELD stamp_1. Write: / 'The short time stamp is:', stamp_1 TIME ZONE SY-ZONLO. GET TIME STAMP FIELD stamp_2. Write: / 'The long time stamp is:', stamp_2 TIME ZONE SY-ZONLO.
上面的代碼產(chǎn)生以下輸出:
The short time stamp is: 18.09.2015 11:19:40 The long time stamp is: 18.09.2015 11:19:40,9370000
在上面的示例中,我們使用TIME ZONE添加WRITE語句顯示時(shí)間戳。 此添加根據(jù)指定的時(shí)區(qū)的規(guī)則格式化時(shí)間戳的輸出。 系統(tǒng)字段SY-ZONLO用于顯示在用戶首選項(xiàng)中配置的本地時(shí)區(qū)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: