Calendar日历类,Date类

Date表示日期:1970年1月1日0点0分0秒0毫秒到现在的毫秒数,他的组成部分:yyyy,MM,dd,hh|HH,mm,ss

Calendar:日历,通常用于日期计算

获取当前时间并格式化输出

@Test
	public void test(){
		Date now = new Date();//表示系统的当前日期
		//格式化输出
		SimpleDateFormat sdf = new SimpleDateFormat("HH点mm分ss秒");
		System.out.println(sdf.format(now));
	}

获取当前时间毫秒数

@Test
	public void test2(){
		long a = System.currentTimeMillis();//当前时间的毫秒
		System.out.println(a);
		long b = System.currentTimeMillis();
		System.out.println(b-a);
	}

接受用户输入日期,并解析成date

public void test3() throws ParseException{
		//接受用户输入日期
		Scanner input = new Scanner(System.in);
		System.out.println("请输入你的生日:yyyy-MM-dd");
		String s = input.nextLine();
		//将用户输入的生日解析成Date类型
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date birth = sdf.parse(s);
	}

Calendar

	@Test
	public void test4(){
		Calendar cal = Calendar.getInstance();//获取实例
//		print(cal);
//		cal.set(Calendar.DAY_OF_MONTH, 1);//把日历设置成本月的第一天
//		print(cal);
//		cal.set(Calendar.MONTH, 0);//把日历设置成这一年第一个月
//		print(cal);
//		System.out.println(cal.get(Calendar.YEAR));
		//两个相约十年后此时此刻相见
//		cal.add(Calendar.YEAR, 10);
//		print(cal);
//		cal.add(Calendar.MONTH, 27);
		cal.add(Calendar.DAY_OF_MONTH, -10);
		print(cal);
		System.out.println(cal.get(Calendar.DAY_OF_WEEK)==Calendar.TUESDAY);
		System.out.println(cal.get(Calendar.MONTH));
		cal.add(Calendar.DAY_OF_MONTH, 28);
		System.out.println(cal.get(Calendar.MONTH));
	}

	private void print(Calendar cal) {
		String s = String.format("%1$tY年%1$tm月%1$td日 %tH点", cal);
		System.out.println(s);
	}

万年历

public static void main(String[] args) {
		System.out.println("按yyyy-MM-dd格式输入日期");
		Scanner sc = new Scanner(System.in);
		String sdate = sc.nextLine();
		SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		try {
			date = sdf.parse(sdate);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		//System.out.println(String.format("%1$tY年%1$tm月%1$td日 %tH点", calendar));
		//calendar.setFirstDayOfWeek(2);//周一设为一周第一天
		calendar.set(Calendar.DAY_OF_MONTH, 1);//日历设为本月第一天
		int DayOfMonth = calendar.getActualMaximum(Calendar.DATE);//判断这个月多少天
		System.out.println("日\t一\t二\t三\t四\t五\t六");
		for(int i= 0;i<calendar.get(Calendar.DAY_OF_WEEK)-1;i++){
			System.out.print("\t");
		}//月初第一天前位置加空格
		for (int i = 0; i < DayOfMonth; i++) {
			if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY)
				System.out.println();//换行
			System.out.print(calendar.get(Calendar.DAY_OF_MONTH )+"\t");
			calendar.add(Calendar.DAY_OF_MONTH , 1);
		}
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值