tema Enlace
https://vjudge.net/problem/POJ-3751
pensamiento
Usando la división Suma
considerar el tiempo de conversión, horas 24 si el sistema 12 es para ser convertido en 0, si la hora> 12, 12 que se restará, a fin de descartar 12 hecha del tiempo correspondiente
considerar cuando un número inferior a 10 con la parte delantera 0
código
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
final int T = _02Reader.nextInt();
for (int i = 0; i < T; i++) {
String str = _02Reader.nextLine();
//以1970/01/01-00:01:01为例,进行分割
//先以-为基准,返回1970/01/01 00:01:01
String[] split = str.split("-");
//返回1970 01 01
String[] date = split[0].split("/");
//返回00 01 01
String[] time = split[1].split(":");
int dateYear = Integer.parseInt(date[0]);
int dateMonth = Integer.parseInt(date[1]);
int dateDay = Integer.parseInt(date[2]);
int timeHour = Integer.parseInt(time[0]);
int timeMinute = Integer.parseInt(time[1]);
int timeSecond = Integer.parseInt(time[2]);
String resultDate= datePrint(dateYear, dateMonth, dateDay);
String resultTime= timePrint(timeHour, timeMinute, timeSecond);
if (timeHour < 12) {
System.out.println(resultDate + "-" + resultTime + "am");
} else {
System.out.println(resultDate + "-" + resultTime + "pm");
}
}
}
private static String timePrint(int timeHour, int timeMinute, int timeSecond) {
return hChange(timeHour)+":"+numChange(timeMinute)+":"+numChange(timeSecond);
}
private static String hChange(int hour) {
if (hour == 0) {
hour = 12;
} else if (hour > 12) {
hour = hour - 12;
}
return numChange(hour);
}
private static String datePrint(int dateYear, int dateMonth, int dateDay) {
return numChange(dateMonth) + "/" + numChange(dateDay) + "/" + numChange(dateYear);
}
private static String numChange(int num) {
if (num < 10) {
return "0" + num;
} else {
return "" + num;
}
}
}
class _02Reader {
static BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
static StringTokenizer tokenizer = new StringTokenizer("");
static String next() throws Exception {
while (!tokenizer.hasMoreTokens()) {
tokenizer = new StringTokenizer(br.readLine());
}
return tokenizer.nextToken();
}
static String nextLine() throws Exception {
return br.readLine();
}
static int nextInt() throws Exception {
return Integer.parseInt(next());
}
}