2012-01-27 102 views
0

我需要使用ABAP程序來計算現在和午夜之間有多少分鐘。計算多少分鐘

+4

歡迎來到SO!你有什麼嘗試?我們幫助有編程問題的人在這裏。 – paislee 2012-01-27 17:30:20

+3

問候,這不是一個編程問題?在ABAP中你知道或者你不知道,沒有嘗試。 – tomdemuyt 2012-01-27 19:30:33

回答

4

例如。

REPORT ZXZ. 

DATA: 
    g_time TYPE tims, 
    g_minutes TYPE i. 

GET TIME. 
g_time = '000000' - sy-uzeit. 
g_minutes = g_time(2) * 60 + g_time+2(2) + g_time+4(2)/60. 
WRITE g_minutes. 
1

假設你使用的數據類型"t",你必須採取"235959"SY-UZEIT之間的區別,並添加"1",那麼你必須考慮結果的DIV 60。例如:

DATA: t1 TYPE t, 
     t2 TYPE t VALUE '235959', 
     t3 TYPE i. 
GET TIME. "Not necessary if you want only to calculate your minutes to midnight, assuming this report won't run to long. 
t1 = sy-uzeit. 
t3 = t2 - t1. 
t3 = t3 + 1. 

t3 = t3 DIV 60. 

t3現在包含左分鐘至午夜十二時,請注意,SY-UZEIT佔用系統時間,這可能不是最終用戶的時間。

+1

'sy-uzeit'包含程序的執行時間。刷新它,你需要使用'GET TIME.' – Jagger 2012-01-27 17:56:00

+0

哪一個我應該使用第一個或第二個。 – 2012-01-27 20:17:53

+0

這兩種解決方案都是可能的,在我的解決方案中,我使用'i'類型的數據計算Jagger用't'類型的數據計算並最終將其轉換爲'i'。但也許你應該考慮爲這個問題製作一個自己的數據類型...... – BB101010 2012-01-27 21:06:05