HH:mm:ss
SimpleDateFormat を使用してこの文字列を日付オブジェクトに変換し、必要に応じてタイムゾーンを変更し、24 時間から 12 時間に変換する形式でタイムスタンプを提供する Web サービスからデータを取得しています。
問題: 午前 12 時の時刻が入力されると、このように表示さ
れるので、結果を取得する00:00:00
と 12:05 は次のようになります。00:05:00
に供給され22:00:00
た回数00:01:00
に取得10:00 pm
した回数0:01 am
私はそれを修正する方法があるかどうかを見回してきましたが、時間の場所に0がある場合は、特別なケースを作成して自分で文字列を解析する必要があると感じています.
どんな助けでも大歓迎です。
public String parseTime(String time) {
String mTime = null;
TimeZone thisTimeZone = TimeZone.getDefault();
TimeZone ourTimeZone = TimeZone.getTimeZone("America/Los_Angeles");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss", Locale.US);
SimpleDateFormat sdfThisTimeZone = new SimpleDateFormat("K:mm:a",
Locale.getDefault());
Date date = null;
sdfThisTimeZone.setTimeZone(thisTimeZone);
sdf.setTimeZone(ourTimeZone);
try {
date = sdf.parse(time);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mTime = sdfThisTimeZone.format(date.getTime());
//**********************************New: Does Not Work********************************
DecimalFormat nft = new DecimalFormat("00"); mTime = nft.format(mTime);
//**********************************New **********************************************
return mTime;
}
DecimalFormat を使用して行を試しましたが、今のところコードにコピーして、機能するかどうかを確認しました。残念ながら、アプリがクラッシュしました。私が投稿したコードは非同期タスク内で実行されるため、それが違いを生むかどうかはわかりませんが、それでも助けてくれてありがとう. 最終的に私はこれを解決します。しかし今のところ、午前 12 時の 1 時間だけ発生する非常に小さな詳細であるため、より大きな問題に移っています。誰かがこれに光を当てることができれば、それは素晴らしいことです.