在格林威治标准时间时区获得 am/pm

get am/pm in gmt timezone

我试图在 gmt 时区获取 am/pm,但代码因此错误而崩溃。我如何更改 existing/default 我从 GMT am/pm 的时间选择器中选择的时区?

代码:

 String selectedHour="15";
        String selectedMinute="32";
        String am_pm="PM";
        SimpleDateFormat sdf = new SimpleDateFormat("HH:MM a", Locale.US);
        Date testDate = null;
        try {
            testDate = sdf.parse(selectedHour+" "+selectedMinute+" "+am_pm);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        SimpleDateFormat formatter = new SimpleDateFormat("a");
        formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
        String newFormat = formatter.format(testDate);
        System.out.println(".....Date..." + newFormat);

错误:

System.err: java.text.ParseException: Unparseable date: "15 32 PM" (at offset 2)  
System.err:     at java.text.DateFormat.parse(DateFormat.java:579)

你的代码应该像这样来解析日期

testDate = sdf.parse(selectedHour+":"+selectedMinute+" "+am_pm);