编写一个程序,把输入的24小时的时间转换为12小时的。
求思路编写一个程序,把输入的24小时的时间转换为12小时的。
Scanner in = new Scanner(System.in);
System.out.println("请输入时间,格式为hh:mm");
String str = in.nextLine();
int hr = Integer.parseInt(str.split(":")[0]);
int m = Integer.parseInt(str.split(":")[1]);
System.out.println("现在时间是" + (hr / 12 == 0 ? "上午" : "下午") + hr % 12 + "点" + m + "分")
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int hour = 0, minute = 0, second = 0;
// 字符串拼接方式实现格式化输出
String hours = "", minutes = "", seconds = "";
lable1: {
while (true) {
do {
System.out.println("输入“-1” 退出循环测试\n请输入小时数:");
hour = cin.nextInt();
if (hour == -1) {
break lable1;
}
if (hour < 0 || hour > 24) {
System.out.println("输入的小时数不在范围内!请重新输入!");
}
} while (hour > 24 || hour < 0);
if (hour >= 0 && hour < 10) {
hours = "0" + hour;
} else {
hours = hour + "";
}
do {
System.out.println("请输入分钟数:");
minute = cin.nextInt();
if (minute < 0 || minute > 60) {
System.out.println("输入的分钟数不在范围内!请重新输入!");
}
} while (minute > 60 || minute < 0);
if (minute >= 0 && minute < 10) {
minutes = "0" + minute;
} else {
minutes = minute + "";
}
do {
System.out.println("请输入秒数:");
second = cin.nextInt();
if (second < 0 || second > 60) {
System.out.println("输入的秒数不在范围内!请重新输入!");
}
if (second >= 0 && second < 10) {
seconds = "0" + second;
} else {
seconds = second + "";
}
} while (second > 60 || second < 0);
System.out.println("根据输入转换后的时间为: " + hours + ":" + minutes
+ ":" + seconds + "\n");
System.out.println("----------------------------------");
// 方式二 凋用String.format()方法进行格式化
hours = String.format("%02d", hour);
minutes = String.format("%02d", minute);
seconds = String.format("%02d", second);
System.out.println("根据输入转换后的时间为:" + hours + ":" + minutes + ":" + seconds);
}
}
}
希望对您有用 谢谢
使用simpleDateFormat 直接转换
Date date = new Date(116, 10, 14, 13, 30);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sdf.format(date));//这个表示12小时制 2016-11-14 01:30:00
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf2.format(date));//这个表示24小时制 2016-11-14 13:30:00
直接调API不就行了
Date d = new Date();
SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制
System.out.println(ss.format(d));
Date date = new Date();
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制
String LgTime = sdformat.format(date);
System.out.println(LgTime);