如何将12小时hh:mm a
转换为HH:mm
?当我们转换它时,我们无法进入24小时格式。当我们在晚上10点分配开始时间并且在早上7点唤醒时间时,时间格式pm到am不转换。在这里,我们无法获得总时间。它将在凌晨12:00停止,我们也将从晚上10点到早上7点将总时间翻倍为18小时。当时间从晚上11:59变为00:00 “00:00 am”导致此处出现问题。
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;
}
}
答案 0 :(得分:0)
使用这两种方法将第二种转换为24小时格式的公共静态
<web-app ...>
...
<security-role>
<role-name>USER</role-name>
</security-role>
<security-role>
<role-name>ADMIN</role-name>
</security-role>
...
</web-app>
答案 1 :(得分:-1)
试试此代码
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String [] args) throws Exception {
SimpleDateFormat displayFormat = new SimpleDateFormat("HH:mm");
SimpleDateFormat parseFormat = new SimpleDateFormat("hh:mm a");
Date date = parseFormat.parse("10:30 PM");
System.out.println(parseFormat.format(date) + " = " + displayFormat.format(date));
}
}