[英]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.