Java中calendar对万年历的制作(同步电脑上的万年历日期格式)

这篇教程详细介绍了如何在Java中利用Calendar类来创建一个万年历。涵盖了日期类型转换、add和roll方法的运用以及时间设置。通过一系列方法封装,包括操作面板设计、月份增减和年份调整等,最终实现了一个功能完善的万年历程序。
摘要由CSDN通过智能技术生成

Java编程中calendar对万年历的制作教程

使用到的方法:

1.日期类型的转换:
String----->Date
String str = "2020年05月27日 20:28:50";
		//SimpleDateFormat格式化时间
		//y:年	yyyy:四位年
		//M:月	MM:两位月
		//d:日	dd:两位日
		//H:小时HH:
		//m:分钟mm:
		//s:秒数ss:
		//a:上午 下午
		//E:星期
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		注意:"2020年05月27日 20:28:50"和"yyyy年MM月dd日 HH:mm:ss"格式必须相同,否则会出错
		Date date = null;
		//捕获异常
		try {
			date = sdf.parse(str);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
		System.out.println("日期为:"+date);
		
Date---->Calendar
Calendar cal = new GregorianCalendar();
		cal.setTime(date);
		System.out.println(cal.getTime());
2.add和roll的用法:
cal.add(Calendar.YEAR, -1)//代表时间往前倒一年
cal.add(Calendar.YEAR, +1)//代表时间往后走一年
cal1.add(Calen
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
想要利用JavaCalendar计算两个日期之间的天数和周数,首先需要获取两个日期Calendar对象。 获取Calendar对象的方法有多种,可以使用Calendar类提供的getInstance()方法或new GregorianCalendar()方法来创建对象。接着,通过set()方法分别设置两个日期的年、月、日信息,最后调用getTimeInMillis()方法获取时间戳(单位为毫秒)。 由于时间戳是以毫秒为单位的,因此计算两个日期之间的毫秒数可以通过相减获取。然后将得到的毫秒数转换成天数和周数即可。 具体实现代码如下: ```java Calendar cal1 = new GregorianCalendar(); cal1.set(year1, month1 - 1, day1); // 第一个日期的年、月、日信息 long time1 = cal1.getTimeInMillis(); // 转换成毫秒数 Calendar cal2 = new GregorianCalendar(); cal2.set(year2, month2 - 1, day2); // 第二个日期的年、月、日信息 long time2 = cal2.getTimeInMillis(); // 转换成毫秒数 // 计算两个日期之间的毫秒数 long betweenDays = (time2 - time1); // 转换成天数并输出 int days = (int) (betweenDays / (1000 * 60 * 60 * 24)); System.out.println("两个日期之间相差" + days + "天"); // 转换成周数并输出 int weeks = (int) (betweenDays / (1000 * 60 * 60 * 24 * 7)); System.out.println("两个日期之间相差" + weeks + "周"); ``` 在计算日期之间的天数和周数时,需要注意的是,使用Calendar时,月份从0开始计数,因此需要将月份减1。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值