Как конвертировать 12 часов hh:mm a
в HH:mm
? Когда мы конвертируем это, мы не можем получить формат 24 часа. Здесь формат времени pm to am не преобразуется, когда мы назначили время начала в 10 вечера и время пробуждения 7 утра. Здесь мы не можем получить общее время. Он останавливается в 12:00, а также мы получаем общее время с 10 до 7 утра в течение 18 часов. когда время меняется с 23:59 до 00:00 «00:00 утра» вызывает здесь проблему.Конвертировать 12 часов до 24 часов
public class Wakeup extends Activity {
ImageButton home, back, up_arw2, up_arw1, up_arw3, down_arw4, down_arw5, down_arw6;
TextView hours, minutes, ampm;
Button save_btn;
SharedPreferences timepreference;
SharedPreferences.Editor edittime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wakeup_time);
hours = (TextView) findViewById(R.id.hours);
minutes = (TextView) findViewById(R.id.minutes);
ampm = (TextView) findViewById(R.id.ampm);
home = (ImageButton) findViewById(R.id.home);
save_btn = (Button) findViewById(R.id.save_btn);
timepreference = getSharedPreferences("CHILDTIME", MODE_PRIVATE);
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("HH:mm a");
String formattedTime = df.format(c.getTime());
edittime = timepreference.edit();
home.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), Settings.class));
}
});
back = (ImageButton) findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), Settings.class));
}
});
up_arw2 = (ImageButton) findViewById(R.id.up_arw2);
up_arw2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int timenum = Integer.parseInt(hours.getText().toString());
if (timenum == 11) {
if (ampm.getText().toString().equals("AM")) {
ampm.setText("PM");
timenum++;
hours.setText(String.valueOf(timenum));
} else {
ampm.setText("AM");
timenum++;
hours.setText(String.valueOf(timenum));
}
} else {
timenum++;
hours.setText(String.valueOf(timenum));
down_arw4.setClickable(true);
}
if (timenum > 12) {
hours.setText("1");
}
}
});
down_arw4 = (ImageButton) findViewById(R.id.down_arw4);
down_arw4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int timenum = Integer.parseInt(hours.getText().toString());
if (timenum == 1) {
hours.setText("12");
} else {
timenum--;
hours.setText(String.valueOf(timenum));
}
}
});
up_arw3 = (ImageButton) findViewById(R.id.up_arw3);
up_arw3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int timenum = Integer.parseInt(minutes.getText().toString());
if (timenum == 59) {
minutes.setText("00");
} else {
timenum++;
minutes.setText(roundedmin(String.valueOf(timenum)));
}
}
});
down_arw5 = (ImageButton) findViewById(R.id.down_arw5);
down_arw5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int timenum = Integer.parseInt(minutes.getText().toString());
if (timenum == 0) {
minutes.setText("59");
} else {
timenum--;
minutes.setText(roundedmin(String.valueOf(timenum)));
up_arw3.setClickable(true);
}
}
});
down_arw6 = (ImageButton) findViewById(R.id.down_arw6);
down_arw6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ampm.setText("PM");
}
});
up_arw1 = (ImageButton) findViewById(R.id.up_arw1);
up_arw1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ampm.setText("AM");
}
});
save_btn.setOnClickListener(new View.OnClickListener() {
Date date;
long gottimesss,millisecndslong;
@Override
public void onClick(View v) {
SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm");
SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a");
try {
date = parseFormat.parse(hours.getText().toString() + ":" + minutes.getText().toString() + " " + ampm.getText().toString());
String gottime = displayFormat.format(date);
String[] timedivided = gottime.split(":");
String gothr = timedivided[0];
long gotlong = TimeUnit.HOURS.toMinutes(Long.parseLong(gothr));
String gotmin = timedivided[1];
int gotintmin = Integer.parseInt(gotmin);
gottimesss=gotlong+gotintmin;
millisecndslong=TimeUnit.MINUTES.toMillis(gottimesss);
convertSecToHoursMinute(millisecndslong);
Log.d("GOtssss", String.valueOf(millisecndslong));
Log.d("timing", "");
} catch (ParseException e) {
e.printStackTrace();
}
edittime.putLong("savedwakeuptime", millisecndslong);
edittime.commit();
startActivity(new Intent(getApplicationContext(), Home.class));
}
});
}
String convertSecToHoursMinute(long Sec) {
long hours = Sec/3600;
long minutes = (Sec % 3600)/60;
long seconds = (Sec % 3600) % 60;
String amPm = "am";
if (minutes == 60) {
minutes = 0;
hours = hours + 1;
}
if (hours == 12) {
amPm = "pm";
}
if (hours == 0) {
hours = 12;
}
if (hours > 12) {
hours = hours - 12;
amPm = "pm";
}
Log.d("Timingdata",setZeroBeforeNine(hours) + ":" + setZeroBeforeNine(minutes) + " " + amPm);
return setZeroBeforeNine(hours) + ":" + setZeroBeforeNine(minutes) + " " + amPm;
}
public static String setZeroBeforeNine(long digit) {
try {
if (digit <= 9) {
return "0" + digit;
}
} catch (Exception e) {
e.printStackTrace();
}
return "" + digit;
}
public static String roundedmin(String min) {
if (min.length() == 1) {
min = "0" + min;
}
return min;
}
}
Что вы пробовали? Вам удастся получить помощь в stackoverflow, если вы покажете код, который вы написали, который не работал. – DavidS
Пожалуйста, покажите свой код. Это значительно разъяснит ваш вопрос. – 4castle
Возможный дубликат [Как конвертировать 24-х часовой формат в формат 12 часов?] (Http://stackoverflow.com/questions/6907968/how-to-convert-24-hr-format-time-in-to- 12-hr-format) – piyushj