qq_慕姐9261892
2019-07-24 17:38
package com.imooc; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TheLise { public static void main(String[] args)throws ParseException { SimpleDateFormat sb1=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒"); SimpleDateFormat sb2=new SimpleDateFormat("yyyy/mm/dd HH:mm"); SimpleDateFormat sb3=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss"); Date b=new Date(); System.out.println(sb1.format(b)); System.out.println(sb2.format(b)); System.out.println(sb3.format(b)); String d="2019-7-6 16:07:13"; SimpleDateFormat sb4=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date sb6=sb4.parse(d); System.out.println(sb6); }
结果
2019年07月24日17时34分50秒
2019/34/24 17:34
2019-34-24 17:34:50
Exception in thread "main" java.text.ParseException: Unparseable date: "2019-7-6 16:07:13"
at java.text.DateFormat.parse(DateFormat.java:366)
at com.imooc.TheLise.main(TheLise.java:17)
Process finished with exit code 1
Date sb6=sb4.parse(d);
属于不安全的转换需要trycatch起来
但本质上并没有处理,所以会报出异常
public static void main(String[] args) throws ParseException { 章节中的异常是把它丢到更上一层了
SimpleDateFormat sb2=new SimpleDateFormat("yyyy/mm/dd HH:mm"); SimpleDateFormat sb3=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");//月是MM 还有讲义中也说了,在输出过程中会出现异常,所以应该加上异常处理
Date b=new Date();
这个是输出当前时间啊,肯定和i题目中的不一样
SimpleDateFormat类中 mm表示的是分钟,MM表示的是月份。 你在年月日当中的mm指的是分钟而不是MM的月份,所以你现在月份中的34和后面时间中的34是同一个意思。34分钟。
"yyyy/mm/dd HH:mm"
应该是yyyy/MM/dd HH:mm,你把前面MM写成小写了,小写的代表的是分钟,大写的才代表是月。
Java入门第三季
409792 学习 · 4340 问题
相似问题