我可以使用以下时间将其转换为字符串:
public static final String TIME_FORMAT = "h:mm a";
SimpleDateFormat dateTimeFormat = new SimpleDateFormat(TIME_FORMAT);
String getstring = dateTimeFormat.format(when.gettime();
但我如何从中获取am / pm并将其转换为字符串,因为我需要它?
答案 0 :(得分:11)
试试这个
Calendar now = Calendar.getInstance();
int a = now.get(Calendar.AM_PM);
if(a == Calendar.AM)
System.out.println("AM"+now.get(Calendar.HOUR));
答案 1 :(得分:2)
这应该有效:
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"));
}
if(hourOfDay==12)
{
datehid.setText("12"+ ":"+(String.valueOf(minute)+"pm"));
}
if(hourOfDay<12)
{
datehid.setText(String.valueOf(hourOfDay)+ ":"+(String.valueOf(minute)+"am"));
}
}
};
在earlier question上找到。
答案 2 :(得分:1)
从您的代码中看起来您正在使用Date对象。如果可能,我建议使用Calendar对象。需要时,您可以通过Calendar的getTime()
方法从Calendar对象中获取Date对象。
如果您有Calendar对象,则可以执行以下操作:
Calendar cal = ...;
String ampm = DateUtils.getAMPMString(cal.get(Calendar.AM_PM));
DateUtils
是Android框架的一部分,可以返回API级别3. getAMPMString()
返回AM / PM的本地化版本。请参阅Android开发人员网站上的docs。
如果您没有可用的Calendar对象,可以从日期对象中创建一个:
Date date = ...;
Calendar cal = Calendar.getInstance();
cal.setTime(date);
但是,由于日历很重要,所以最好直接使用Calendar对象,而不是创建和删除它们。