时间日期格式转换
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
而北美所用的日期格式则为“月月/日日/年年年年”或”mm/dd /yyyy”,如将“2010/11/20”改成这种格式,对应的则是”11/20/2010”。对于时间的格式,则常有12小时制和24小时制
12小时制的表示方法是”05:30:00pm”。注意12:00:00pm表示中午12点,而12:00:00am 表示凌晨12点。
第一行为一个整数T(T<=20),代表总共需要转换的时间日期字符串的数目。
<span 18px;="" \"="" style="box-sizing: border-box;">接下来的总共T行,每行都是一个需要转换的时间日期字符串。
Output
分行输出转换之后的结果
Example Input
2 2010/11/20-12:12:12 1970/01/01-00:01:01
Example Output
11/20/2010-12:12:12pm 01/01/1970-12:01:01amimport java.text.DecimalFormat; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner (System.in); DecimalFormat m = new DecimalFormat("00"); DecimalFormat x = new DecimalFormat("0000"); while( in.hasNext() ){ int t = in.nextInt(); in.nextLine(); while( t-->0 ){ String str = in.nextLine(); String []s = str.split("/"); String []s1 = s[2].split("-"); String []s2 = s1[1].split(":"); String s3 = "am"; int a = Integer.parseInt(s2[0]); if( a-12>=0 ){ s3 = "pm"; if( a==12 ) s2[0] = "12"; else{ s2[0] = String.valueOf(a-12); } } if( a==0 ) s2[0] = "12"; int []ss = {Integer.parseInt(s[1]),Integer.parseInt(s1[0]),Integer.parseInt(s[0]), Integer.parseInt(s2[0]),Integer.parseInt(s2[1]),Integer.parseInt(s2[2]) }; System.out.println( m.format(ss[0])+"/"+m.format(ss[1])+"/"+x.format(ss[2])+"-" +m.format(ss[3])+":"+m.format(ss[4])+":"+m.format(ss[5])+s3); } } in.close(); } }