JAVA 表示时间:Date和SimpleDateFormat类表示时间

来源:互联网 发布:淘宝网毛衣女装张大奕 编辑:程序博客网 时间:2024/06/05 09:27
使用Date和SimpleDateFormat类表示时间
Date类的使用:
//调用Date类的默认无参构造函数,获取当前时间。打印输出
Date d=new Date();
System.out.println(d);

输出结果如下:
Sun Aug 13 21:52:15 CST 2017
其中CST表示中国标准时间,即北京时间,东八区。
默认的时间格式不太友好,与我们平日所见大相径庭,

如果想要按指定的格式进行显示,如 2014-06-11 09:22:30 ,那该怎么做呢?

此时就到了 java.text 包中的 SimpleDateFormat 类大显身手的时候了!!可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。

1. 使用 format() 方法将日期转换为指定格式的文本

 Date d=new Date();
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=format.format(d);
System.out.println(time);

2.使用 parse() 方法将文本转换为日期

 String date="2017年08月13日 22:05:03";
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date a=sdf.parse(date);
System.out.println(a);


注意: 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理(try-catch块包围或者throws抛出异常)。

Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。

Calendar calendar=Calendar.getInstance();     //Calendar抽象类通过getInstance()方法获取类的实例
int year=calendar.get(Calendar.YEAR);    //获取年
int month=calendar.get(Calendar.MONTH)+1;   //获取月,0表示一月
int day=calendar.get(Calendar.DAY_OF_MONTH); 
int hour=calendar.get(Calendar.HOUR_OF_DAY);   //获取时,Calendar.HOUR为12小时计时
int second=calendar.get(Calendar.SECOND);
int minute=calendar.get(Calendar.MINUTE);
System.out.println("当前时间:"+year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);


注意:通过Calendar类提供的getTime()方法可以将Calendar转换为Date类型;





阅读全文
0 0