Androidで「午前 09:34」のような表記をしたくて以下のような関数を作りました。
端末の時間が12時を過ぎると午前/午後が逆になります。
なぜなのでしょう?
private String formatTime(int hour, int minute) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR, hour);
cal.set(Calendar.MINUTE, minute);
SimpleDateFormat sdf = new SimpleDateFormat("a KK:mm", Locale.getDefault());
return sdf.format(cal.getTime());
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
「端末の時間が12時を過ぎると午前/午後が逆になります。
」ってどういうことでしょうか? 0時から 11時までは「午前」になって, 12時以降 (例えば 18時) だと「午前」になるってこと? で, 次の 12時になると今度は「午後」になる?Calendar.HOURではなく、Calendar.HOUR_OF_DAYが正解でした。
Calendar.HOURはCalendar.AM_PMとセットなので
元のソースだとCalendar.AM_PMが残ってしまい
現在時刻が午後になると、逆になるという現象になったようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- その他(ネットショッピング・通販・ECサイト) 中国サイトで商品を購入して今追跡したら、 2023 年 1 月 8 日 08:59 午前 2023- 2 2023/01/08 11:21
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- その他(法律) 一日って、午前0時から次の午前0時までではないのでしょうか? 午前0時から午後0時までだと、12時間 6 2022/11/24 18:48
- 化学 [例題①]プロパンのOHとの反応速度定数を k=1.0×10⁻¹²cm³s⁻¹、 [OH]=1.0× 0 2023/05/28 13:12
- 会社・職場 夜勤中の眠気について 3 2022/09/02 07:49
- その他(業種・職種) 新聞配達と郵便配達を兼業する新会社は創れないでしょうか? 4 2023/01/26 22:20
- 英語 提示した名言の文の構造について(waste one hour of time) 5 2023/05/20 15:22
- 郵便・宅配 佐川急便の代引きで東京に昨日午後2時に発送ました。いまは関西中継センターにあります配達時間指定で午前 3 2023/01/24 07:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
マイクラでPythonのプログラミ...
-
変数名とDBカラム名の関係性に...
-
改行含むテキストの表示の仕方
-
プログラミングの問題です。大...
-
JAの支部?地域の農協のカード...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
-
ショートカットキーについて
-
list の空は [] ってあわらすのに
-
あんまりお料理しないのに台所...
-
質問です。 配列が100以上の場...
-
次のhtml・cssでspan内の文字を...
-
Jupyter notebookですわかりま...
-
Eclipse 動的プロジェクトで404...
-
下記問題の答えが"D"になる意味...
-
JaneStyleのスレッドが見れなく...
-
キー入力について
-
jdk17.06のインストーラーが起...
-
リレーションエンティティクラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
linux上でgetchを使いたい
-
エクセルVBAでのネットワークプ...
-
[C#]リモートアクセスのProcess...
-
VBScrptについて
-
閲覧したスクロール位置に戻る...
-
android開発初心者です。 2つの...
-
C++で引数の型の構造体をif文で...
-
VB .NETで作成したソフトが、他...
-
C#で作成したDLLをExcelVBAで利...
-
親スレッドが子スレッドを監視...
-
VB6からVB.NET作成DLL呼び出し...
-
JavaScriptでキオスクモードを...
-
VSSにてrights.datアクセス拒否...
-
VB.NetのWMIを用いたリモート端...
-
文字コードは何にしたらいいで...
-
Android「adb shell」パスを知...
-
タッチパネルディスプレイのカ...
-
docomoメール内でURLリンク
-
sendmailとimodeの絵文字について
-
【PHP】UUID・UDIDによる端末判...
おすすめ情報
Calendar cal = Calendar.getInstance()の後にタイムゾーンを確認したら日本で端末のタイムゾーンになってました
データが18:36の場合、午後06:36と表示したいです。
午前中は正しく表示されるのですが、12時を過ぎると午前06:36となってしまいます。