![](/img/trans.png)
[英]How do I get Java to parse and format a date/time with the same time zone? I keep getting the local timezone
[英]How do I get date and time in the same format from database using gettimestamp() in Java
在我的數據庫中,我的值設置為9/28/2010 11:30:00 PM
。
現在,我正在使用dataResultSet.getTimestamp(3)
,它給我的值為2010-09-28 23:30:00.0
。 我希望我的結果與數據庫值相同。即,我希望時間是11:30
。
有什么解決方案? 誰能幫我這個?
提前致謝。
實際上,我懷疑在您的數據庫中,該值設置為1285716600
。 您可能的意思是您的數據庫客戶端將此值顯示為“ 9/28/2010 11:30:00 PM”。
這完全是格式問題-日期代表時間的特定時刻,而不是字符串。 而是,有多種潛在的方式可以將 Date轉換為它的String表示形式。 特別要注意的是,您不會從數據庫中獲取任何特定格式的日期。 它作為日期到達,由您決定是否格式化。
您如何將此日期轉換為字符串? 如果需要特定的輸出樣式,則應使用SimpleDateFormat類(或等效類)。
你得到的Timestamp
是一樣的數據庫值。 區別在於它們的顯示方式,但這與值本身無關。 在數據庫中,它取決於設置(例如Oracle中的NLS設置)。 在Java中,它取決於用於格式化輸出日期的DateFormat
。 如果您未明確使用一個,則默認值取決於系統的區域設置。
使用SimpleDateFormat將Date
對象轉換為所需的字符串。
如果您的問題只是字符串表示形式,則可以使用以下方法:
// date is of type java.util.Date
String dateStr = new SimpleDateFormat("d/M/yyyy hh:mm:ss a").format(date);
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.