好吧,我已經使用了一些在stackoverflow上的帖子來獲得一些轉換半工作的一些XML數據。格林尼治標準時間上午12點轉換錯誤
在XML數據饋送中,我得到日期和時間,作爲SEPARATE元素 - 它們在GMT時間。
因此,爲了將其轉換並比較本地時間,我做了以下(「NE」包含XML飼料我的對象):
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm");
sdf.setTimeZone(TimeZone.getTimeZone(myTimeZone.getDisplayName()));
Date newdate = sdf.parse(ne.getNewsDate().toString() + " " + ne.getNewsTime().toString());
if (newdate.before(new Date()))
//don't use
else
//use
因此,作爲一個日期/時間的一個例子從XML飼料被錯誤地轉換,讓我們:
<date>
<![CDATA[ 12-02-2014 ]]>
</date>
<time>
<![CDATA[ 12:00am ]]>
</time>
「newdate」上面正在恢復「星期二12月2 23:00:00東部時間2014」的時候,我的系統時鐘讀2014年2月12日3:00 PM 「 很明顯,它將格林尼治標準時間12-02-2014 12:00轉換成錯誤的時間作爲未來的時間重新,而我需要它意識到這是過去。
所以,我很困惑的是,它正確地轉換爲來自Feed的日期/時間的大部分,但上面的某些不正確。
我希望這是有道理的,所以基本上我試圖通過將兩個SEPARATE日期/時間字段轉換爲本地時間來忽略來自XML饋送的日期/時間,然後檢查是否過去或不。
的人,我很喜歡這個網站!答案是現貨,及時! Thx - 我不需要toUpperCase,只需要hh:mma完美! – makapaka 2014-12-02 04:38:18