Java中Date类型获取年月日时分秒的两种方法

Java的Date类型是,提供用来描述日期时间的类,它可以存储时间的年月日、时分秒的信息。但是如何从Date的实例中获取这些信息呢?

以前Date提供了一系列的get方法来获取,但是这些方法现在都被弃用了:

    Date date = new Date();
    date.getDate(); // 获取日期
    date.getYear(); //获取年
    date.getDay(); //获取月
    date.getMonth(); //获取日
    date.getHours(); //获取时
    date.getMinutes();//获取分
    date.getSeconds();// 获取秒

既然这些方法不能使用了,那我们还能怎样获得呢?

方法一:Calendar类

Calendar calendar = Calendar.getInstance();

calendar.setTime(new Date());					//放入Date类型数据
 
calendar.get(Calendar.YEAR);					//获取年份
calendar.get(Calendar.MONTH);					//获取月份
calendar.get(Calendar.DATE);					//获取日
 
calendar.get(Calendar.HOUR);					//时(12小时制)
calendar.get(Calendar.HOUR_OF_DAY);				//时(24小时制)
calendar.get(Calendar.MINUTE);					//分
calendar.get(Calendar.SECOND);					//秒
 
calendar.get(Calendar.DAY_OF_WEEK);				//一周的第几天

方法二:SimpleDateFormat类

String[] strNow1 = new SimpleDateFormat("yyyy-MM-dd").format(new Date()).toString().split("-");
 
Integer.parseInt(strNow1[0]);			//获取年
Integer.parseInt(strNow1[1]);			//获取月
Integer.parseInt(strNow1[2]);			//获取日
 
String[] strNow2 = new SimpleDateFormat("hh:mm:ss").format(new Date()).toString().split(":");
 
Integer.parseInt(strNow2[0]);			//获取时(12小时制)
Integer.parseInt(strNow2[1]);			//获取分
Integer.parseInt(strNow2[2]);			//获取秒
 
String[] strNow3 = new SimpleDateFormat("HH:mm:ss").format(new Date()).toString().split(":");
		
Integer.parseInt(strNow3[0]);			//获取时(24小时制)
Integer.parseInt(strNow3[1]);			//获取分
Integer.parseInt(strNow3[2]);			//获取秒

版权声明:本文为weixin_43901865原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。