Date和Calendar类的一些使用

调用Date类计算从出生到现在过去多少天,代码及注释如下:

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

public class DateYourDays {
	public static void main(String[] args) throws ParseException {
		//键盘录入你的出生年月日
		Scanner sc = new Scanner(System.in);
		System.out.println("please input your birthday:");
		String line = sc.nextLine();
		
		//String -- Date
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date d = sdf.parse(line);
		
		//生日的毫秒值
		long myTime = d.getTime();
		
		//当前时间的毫秒值
		long nowTime = System.currentTimeMillis();
		
		//出生到当前时间的毫秒值
		long time = nowTime - myTime;
		
		//毫秒值换算为天数
		long day = time / 1000 / 60 / 60 /24;
		
		System.out.println("你来到这个世界"+day+"天了~");
	}
}
Calendar类: Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距 历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 

Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。CalendargetInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:

     Calendar rightNow = Calendar.getInstance();
(来自API)

如下代码及注释实现判断任意一年二月有多少天:

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

/*
 * 获取任意一年的二月有多少天
 * 
 * 分析:
 *   获取月份:2 //月份加一(月份是从零开始计算的)
 *       天数:1
 *   往前推一天得到的日期就是二月的天数
 */
public class CalendarTest {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年份:");
		int year = sc.nextInt();
		
		//设置日期
		Calendar c = Calendar.getInstance();
		//三月一号
		c.set(year,2,1); 
		
		//日期推后一天
		c.add(Calendar.DATE,-1);
		
		System.out.println(c.get(Calendar.DATE));
	}
}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值