Date日期类:

一、Date类:表示特定的瞬间,精确到毫秒。(util包下,不能导入sql包下的) 

1、构造方法

    [1]public Date()

    [2]public Date(long date)

2、成员方法

    [1]public long getTime()

    [2]public void setTime(long time)

    电子产品初始日期:1970年1月1日(UNIX和C语言生日)

Thu Jan

      32位系统最多表示68年(即到2038年),64位系统可以表示千亿年

      打印8点非0点,是因为北京时区划分在东8区

二、SimpleDateFormat类实现日期和字符串的相互转换

1、DateFormat类的概述

      DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

      是抽象类,所以使用其子类SimpleDateFormat

2、SimpleDateFormat构造方法

     [1]public SimpleDateFormat()

     [2]public SimpleDateFormat(String pattern)

3、成员方法

     [1]public final String format(Date date)

     [2]public Date parse(String source)


import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateMethod {
	public static void main(String[] args) throws ParseException{
		/*
		 * 一、Date类:表示特定的瞬间,精确到毫秒。(util包下,不能导入sql包下的) 
			  1、构造方法
	  				[1]public Date()
					[2]public Date(long date)
			  2、成员方法
					[1]public long getTime()
					[2]public void setTime(long time)
			  电子产品初始日期:1970年1月1日(UNIX和C语言生日)/*
		 		Thu Jan 01 08:00:00 CST 1970
		 		32位系统最多表示68年(即到2038年),64位系统可以表示千亿年
		 		打印8点非0点,是因为北京时区划分在东8区
		   二、SimpleDateFormat类实现日期和字符串的相互转换
		      1、DateFormat类的概述
					DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
					是抽象类,所以使用其子类SimpleDateFormat
			  2、SimpleDateFormat构造方法
					[1]public SimpleDateFormat()
					[2]public SimpleDateFormat(String pattern)
			  3、成员方法
					[1]public final String format(Date date)
					[2]public Date parse(String source)
		 * */
		dateMethod();
		simpleDateFormat();
		calculateBirth();//计算活的年数
	}

	private static void calculateBirth() throws ParseException {
		String birth = "1990/06/08 08:00:00";
		String today = "2017/02/28 16:00:00";
		SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		Date d1 = sd.parse(birth);
		Date d2 = sd.parse(today);
		long ms = d2.getTime() - d1.getTime();
		System.out.println(ms/1000/60/60/24/365);
	}

	private static void simpleDateFormat() throws ParseException {
//		DateFormat f = new DateFormat();
//		DateFormat f = new SimpleDateFormat();
//		DateFormat f = DateFormat.getDateInstance();
		Date d = new Date();
		SimpleDateFormat sd = new SimpleDateFormat();
		System.out.println(sd.format(d));     //17-2-27 下午3:01
		SimpleDateFormat sd1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		System.out.println(sd1.format(d));    //2017年02月27日 15:05:48
		
		String s = "2017/02/28 14:00:08";
		SimpleDateFormat sd2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
		Date d1 = sd2.parse(s);
		System.out.println(d1);    //2017年02月27日 15:05:48
	}

	private static void dateMethod() {
		Date d1 = new Date();  //如果没有传参数代表当前时间
		System.out.println(d1.getTime());
		System.out.println(System.currentTimeMillis());
		System.out.println(d1);
		
		d1.setTime(1000);//设置毫秒值
		System.out.println(d1);
		
		Date d2 = new Date(0);//如果参数传0代表的是1970年1月1日
		System.out.println(d2);
		/*
		 * Thu Jan 01 08:00:00 CST 1970
		 * 32位系统最多表示68年(即到2038年),64位系统可以表示千亿年
		 * 打印8点非0点,是因为北京时区划分在东8区
		 * */
	}
}


Java 年龄算出生日期 java中出生日期用什么类型_成员方法


Java 年龄算出生日期 java中出生日期用什么类型_成员方法_02



Calendar日历类:

一、Calendar类:类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

      成员方法

            [1]public static Calendar getInstance()

int get(int

二、Calendar类的add()和set()方法

      成员方法

int field,int

int year,int month,int


import java.util.Calendar;
import java.util.Scanner;

public class CalendarMethod {
	public static void main(String[] args) {
		/*
		 * 一、Calendar类:类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
			  成员方法
				 [1]public static Calendar getInstance()
				 [2]public int get(int field)
		   二、Calendar类的add()和set()方法
		      成员方法
				 [1]public void add(int field,int amount)
				 [2]public final void set(int year,int month,int date)
		 * */
		getYear();
		addYear();
		calculateYear();//计算平年还是闰年
	}

	private static void calculateYear() {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年分,判断平年还是闰年:");
		int year = sc.nextInt();
		Calendar c = Calendar.getInstance();
		c.set(year, 2, 1);
		System.out.println(year + "年" + (c.get(Calendar.MONTH) + 1) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
		c.add(c.DAY_OF_MONTH, -1);
		System.out.println(year + "年" + (c.get(Calendar.MONTH) + 1) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
		if(c.get(Calendar.DAY_OF_MONTH) == 29){
			System.out.println("您当前输入的是闰年");
		}else{
			System.out.println("您当前输入的是平年");
		}
	}

	private static void addYear() {
		Calendar c = Calendar.getInstance();
		c.add(Calendar.YEAR, -1);
	}

	private static void getYear() {
		Calendar c = Calendar.getInstance();
		System.out.println(c);
		System.out.println(c.get(Calendar.YEAR));
		System.out.println(c.get(Calendar.MONTH));//以0开始
		System.out.println(c.get(Calendar.DAY_OF_MONTH));
		System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日为第一天
	}
}



Java 年龄算出生日期 java中出生日期用什么类型_Date日期_03