Date和Calender

Date: 日期/时间类
构造方法:

public Date()// 系统当前日期时间
public Date(long date) //得到一个1970年1月1日 0点这个时间基础上,加上参数date 毫秒值对应的日期时间

方法:

public long getTime() 获取日期所对应的毫秒值

DateFormat: 是日期/时间格式化子类的抽象类, 使用其子类SimpleDateFormat 实例化
构造方法:

	public SimpleDateFormat() 默认的格式化操作
	public SimpleDateFormat(String pattern) 按照指定的格式,进行日期格式化
				日期和时间模式
				y  年  
				M  年中的月份  
				d  月份中的天数 
				H  一天中的小时数(0-23) 
				m  小时中的分钟数 
				s  分钟中的秒数 
				S  毫秒数 

方法:

	public final String format(Date date) 把日期 格式化成字符串
	public Date parse(String source) 把日期字符串 转换成 日期对象

Calendar: 日历类,可获取日期中指定字段的值
方法:

public static Calendar getInstance() //获取日期对象
public int get(int field)	//获取时间字段值
public void add(int field,int amount)	//指定字段增加某值
public final void set(int field,int value)//设置指定字段的值
public final Date getTime()	//获取该日历对象转成的日期对象


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

public class DateTest {
	public static void main(String[] args) throws ParseException {
		
		//计算出生了多少天
		Calendar my = Calendar.getInstance();
		Calendar c = Calendar.getInstance();
		//设置出生年月日 2000-10-1
		my.set(Calendar.YEAR, 2000);
		my.set(Calendar.MONTH, 9);//MONTH在Calendar中范围是0~11,与实际月份差1
		my.set(Calendar.DATE, 1);
		long l = c.getTimeInMillis() - my.getTimeInMillis();//计算当前时刻与出生时刻的毫秒差值
		long day = l/1000/60/60/24;//将毫秒值转化为天数
		System.out.println(day);
		
		//计算今天距离2020年1月1日还有多少天
		DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date now = new Date();
		Date future = dFormat.parse("2020-1-1");
		long ls = future.getTime() - now.getTime();//计算当前时刻与2020年1月1日的毫秒差值
		long myDay = ls/1000/60/60/24;//将毫秒值转化为天数
		System.out.println(myDay);
		
		
		//判断是否是闰年
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入需要判断的年份:");
		int year = scanner.nextInt();
		Calendar calendar = Calendar.getInstance();//获取日历对象
		calendar.set(year, 2, 1);//设置日期为year年3月1日
		calendar.add(Calendar.DATE, -1);//向前推一天
		int iday = calendar.get(Calendar.DATE);//获取向前推一天的天数,日期数
		if(iday == 29) {//判断日期,如果是29,则证明当前输入的year年的2月有29天,则证明是闰年,反之则是平年
			System.out.println(year+"是闰年");
		}else {
			System.out.println(year+"是平年");
		}		
	}
}

猜你喜欢

转载自blog.csdn.net/qq_24801365/article/details/82900811