[英]SimpleDateFormat parse always returns EDT date
我這里有一個問題。 我已經閱讀了所有相關文章,但無法擺脫這種情況。 我正在嘗試將美國/太平洋日期從字符串轉換為日期對象:
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yy HH:mm:SS a z");
df.setTimeZone(TimeZoneUtil.getTimeZone("US/Pacific"));
String userTime = df.format(date);// User Time - Returns correct US/Pacific time
Date userDate = df.parse(userTime); // Always returns the date in EDT
我知道Date沒有自己的格式,但是我完全被狐狸看成是解析方法返回了EDT時間。
我的問題是我想將userTime字符串轉換為Date對象,其格式/時區與我設置為SimpleDateFormat的格式/時區相同。 我需要幫助的人..拼命等待。 提前致謝
查看文檔 :
解析
[...] TimeZone值可能會被覆蓋,具體取決於給定的模式和文本中的時區值。 可能需要恢復以前通過調用setTimeZone設置的任何TimeZone值,以進行進一步的操作。
希望這可以幫助
java.util.Date對象不在時區中。 調用toString時,構建的字符串將位於jvm的本地時區。
如果要在其他時區構建字符串,則需要構建新的SimpleDateFormat或在設置格式之前再次設置時區。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.