题意:
对于给定的采用”yyyy/mm/dd”加24小时制(用短横线”-”连接)来表示日期和时间的字符串,
请编程实现将其转换成”mm/dd/yyyy”加12小时制格式的字符串,末尾加上pm或者am。
思路:
使用java的date与SimpleDateFormat,
注意HH是24小时制,而hh是12小时制,
如果加pm,am,需要添加参数a和Locale.ENGLISH
如:SimpleDateFormat("MM/dd/yyyy-hh:mm:ssa",Locale.ENGLISH)
这样得到的是大写的AM,PM,自己转一次小写。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Scanner; public class Main { public static void main(String[] args) throws ParseException {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
while(n-->0)
{
SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");//
String time=scanner.next();
Date d1=format.parse(time);
SimpleDateFormat format2=new SimpleDateFormat("MM/dd/yyyy-hh:mm:ssa",Locale.ENGLISH);//
String d2=format2.format(d1);
String end=d2.substring(19, 21);
// System.out.println(end);
end=end.toLowerCase();//取am,pm变成小写 System.out.println(d2.substring(0, 19)+end);
}
} }