在android中以AM/PM格式显示时间

Rah*_*rma 10 android

我正在使用时间选择器并使用以下代码在文本视图中显示时间...

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        Toast.makeText(SendMail.this, "Your Appointment time is "+hourOfDay+":"+minute,    Toast.LENGTH_SHORT).show();
        TextView datehid = (TextView)findViewById(R.id.timehidden);
        datehid.setText(String.valueOf(hourOfDay)+ ":"+(String.valueOf(minute)));
    }
};
Run Code Online (Sandbox Code Playgroud)

现在,问题是当我将时间设置为晚上8点然后我将时间显示为20:0 ...我想将时间显示为晚上8点...我该怎么办?

arl*_*len 37

private String getReminingTime() {
    String delegate = "hh:mm aaa";
    return (String) DateFormat.format(delegate,Calendar.getInstance().getTime());
}
Run Code Online (Sandbox Code Playgroud)


Rah*_*rma 16

我这样做是为了实现它.

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        TextView datehid = (TextView)findViewById(R.id.timehidden);
        if(hourOfDay>12) {
            datehid.setText(String.valueOf(hourOfDay-12)+ ":"+(String.valueOf(minute)+"pm"));
        } else if(hourOfDay==12) {
            datehid.setText("12"+ ":"+(String.valueOf(minute)+"pm"));
        } else if(hourOfDay<12) {
            if(hourOfDay!=0) {
                datehid.setText(String.valueOf(hourOfDay) + ":" + (String.valueOf(minute) + "am"));
            } else {
                datehid.setText("12" + ":" + (String.valueOf(minute) + "am"));
            }
        }
    }
};    
Run Code Online (Sandbox Code Playgroud)


Pra*_*ale 6

SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss a");
String  currentTime = df.format(currnetDateTime.getTime());
Run Code Online (Sandbox Code Playgroud)

  • 对于任何可能像我曾经在Pravin的代码中一样猜出`currnetDateTime`的人来说,它都是`Calendar currnetDateTime = Calendar.getInstance();`,然后是`SimpleDateFormat df = new SimpleDateFormat(“ HH:mm:ss a “); 字符串currentTime = df.format(currnetDateTime.getTime());` (2认同)

Pha*_*inh 5

Calendar now = Calendar.getInstance();
if(now.get(Calendar.AM_PM) == Calendar.AM){
   // AM
   System.out.println(""+now.get(Calendar.HOUR)+":AM");
}else{
   // PM
   System.out.println(""+now.get(Calendar.HOUR)+":PM");
}
Run Code Online (Sandbox Code Playgroud)