簡體   English   中英

Jasper報表中的SimpleDateFormat + java.sql.Timestamp

[英]SimpleDateFormat + java.sql.Timestamp in Jasper Reports

我在Jasper中有一個精美的時區報告,但我似乎還真不知道如何顯示相對於時區的一些日期。

我有一個視圖,它以以下格式返回日期:

“ 2015-03-02 11:45:00 + 01”

“ 2015-03-02 23:59:59 + 01”

“ 2015-03-03 00:00:00 + 01”

“ 2015-03-03 08:00:00 + 01”

“ 2015-03-03 09:20:00 + 01”

“ 2015-03-03 11:00:00 + 01”

“ 2015-03-03 09:00:00 + 01”

“ 2015-03-03 09:30:00 + 01”

等等(請注意末尾的+01)

在我的報告中,我有:

new SimpleDateFormat(“ HH:mm”,$ P {REPORT_LOCALE})。format($ F {start_date});

但是,例如,對於“ 2015-03-02 11:45:00 + 01”,我沒有看到12:45,而是11:45。

另外,我需要總結小時數(它們是間隔時間),這給了我1小時(在這種情況下)錯誤。

誰能幫我顯示正確的時間?

謝謝!

SimpleDateFormat采用Date而不是Calendar這意味着不能在值本身中提供時區。

假設您需要堅持使用SimpleDateFormat (例如,而不是使用Joda Time或Java 8的java.time ),則需要在SimpleDateFormat本身上設置時區。 如果您需要從數據中獲取時區(而不是具有報告范圍的時區),則需要在格式化每個值之前調用setTimeZone但是,當然,您需要確保已獲取據我所知,值中的時區和java.sql.Timestamp沒有時區的任何概念。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM