sdut_java_时间日期格式转换

来源:互联网 发布:macbook如何安装软件 编辑:程序博客网 时间:2024/05/08 02:50

时间日期格式转换

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

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

22010/11/20-12:12:121970/01/01-00:01:01

Example Output

11/20/2010-12:12:12pm01/01/1970-12:01:01am
import 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();}}

1 0
原创粉丝点击