首页 > 解决方案 > 无法更改 12:00(午后)之后的上午/下午时间

问题描述

我如何将 24 小时格式与 AM/PM 一起转换为 12 小时,我检查了文章以及 stackoverflow 但问题是字符串是否为“12:43”(下午时间),我将其转换为 12 小时然后它显示“ 12:43 AM”,但它应该显示“12:43 PM”。下面是我写的java代码。

MainActivity.Java

public class PrayerActivity extends AppCompatActivity {
    TextView result;
String fetch="12:43"
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
result=findViewById(R.id.result);
Date dateCode = null;
String formatTwelve;
String resultsAfter;
final SimpleDateFormat code12Hours = new SimpleDateFormat("hh:mm");
                            try {
                                dateCode = code12Hours.parse(fetch);
                            } catch (ParseException e) {
                                e.printStackTrace();
                            }
formatTwelve = code12Hours.format(dateCode);
if (formatTwelve.equals(fetch)) {
                                resultsAfter= formatTwelve + " AM";
                            } else {
                                resultsAfter= formatTwelve + " PM";
                            }
result.setText(resultsAfter);
}}

标签: javaandroidandroid-studiotimesimpledateformat

解决方案


public static void main(String[] args) {
        String[] stringDates = { "12:43", "14:00", "10:00" };
        for (String dateString : stringDates) {
            // Input 24 HRS
            LocalTime localTime = LocalTime.parse(dateString, DateTimeFormatter.ofPattern("HH:mm", Locale.ENGLISH));

            // Output 12 hrs
            System.out.println(localTime.format(DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)));
        }
    }

输出

12:43 PM
02:00 PM
10:00 AM

推荐阅读