Java工具类-Calendar日历类-练习题

涎涎原创约 1167 字大约 4 分钟...JavaJava

221-Java工具类-Calendar日历类-练习题.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

示例代码

package com.tencent.chapter01.日期类.练习;

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

/**
 * 9. 【综合练习】输入日期格式字符串作为商品的生产日期,输入保质期(天);计算截止到今天,该商品还有多少天会过保质期
	1、控制台输入字符串转为日期格式
	2、将输入日期增加保质期天数
	3、取得当前系统日期,比较两个日期,如果过期输出“该商品已经过期”
  	    
	4、如果没有过期,输出天数
 */
public class _01 {

	public static void main(String[] args) throws ParseException {
		Scanner scanner = new Scanner(System.in);
		
		//1、控制台输入字符串转为日期格式
		System.out.println("请输入商品的生产日期:(yyyy-MM-dd)");
		String strDate = scanner.nextLine();
		
		//字符串 -> 日期
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date produceDate = sdf.parse(strDate);
		
		//输入保质期天数
		System.out.println("请输入保质期(天):");
		long day = scanner.nextLong();
		
		//2、将输入日期增加保质期天数(得到:过期日期)
		long millionSecond = produceDate.getTime() + day*24*60*60*1000;
		Date deadLineDate = new Date(millionSecond);
		
		//今天的日期
		Date today = new Date();
		System.out.println("今天的日期为:" + sdf.format(today) );
		System.out.println("过期的日期为:" + sdf.format(deadLineDate) );
		
		//3、取得当前系统日期,比较两个日期,如果过期输出“该商品已经过期”
		if(deadLineDate.compareTo(today) == -1)
		{
			System.out.println("该商品已经过期");
		}
		//4、如果没有过期,输出天数
		else
		{
			//剩余天数
			long availableDays = (deadLineDate.getTime() - today.getTime())/1000/60/60/24;
			System.out.println("还有 " + availableDays + "天过期");
		}
	}
	
}
package com.tencent.chapter01.日期类.练习;

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

/**
 * 4、巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。[必做题]
 */
public class _02 {
	
	public static void main(String[] args) throws ParseException {
		//方式一
		//methodOne();
		
		//方式二
		MethodTwo();
	}

	private static void MethodTwo() throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		//输入北京时间
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入北京时间:");
		String strDate = scanner.nextLine();
		
		//字符串 -> 日期
		//北京时间
		Calendar beijing = Calendar.getInstance();
		beijing.setTime(sdf.parse(strDate));
		System.out.println("北京时间:" + sdf.format(beijing.getTime()));
		
		//巴黎时间:比北京时间晚7个小时
		beijing.add(Calendar.HOUR, -7);
		System.out.println("巴黎时间:" + sdf.format(beijing.getTime()));
		
		//纽约时间:比北京时间晚12个小时
		beijing.add(Calendar.HOUR, -5);
		System.out.println("纽约时间:" + sdf.format(beijing.getTime()));
	}

	private static void methodOne() throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		//输入北京时间
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入北京时间:");
		String strDate = scanner.nextLine();
		
		//字符串 - >日期
		//北京时间
		Date beijing = sdf.parse(strDate);
		System.out.println("北京时间:" + sdf.format(beijing));
		
		//巴黎时间:比北京时间晚7个小时
		Date paris = new Date(beijing.getTime() - 7*60*60*1000);
		System.out.println("巴黎时间:" + sdf.format(paris));
		
		//纽约时间:比北京时间晚12个小时
		Date newYork = new Date(beijing.getTime() - 12*60*60*1000);
		System.out.println("纽约时间:" + sdf.format(newYork));
	}
}
package com.tencent.chapter01.日期类.练习;

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

import com.tencent.chapter01.日期类.DateUtil;

/**
 * 4、巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。[必做题]
 */
public class _02_使用工具类 {
	
	public static void main(String[] args) throws ParseException {
		//方式一
		//methodOne();
		
		//方式二
		//MethodTwo();
	}

	private static void MethodTwo(){
		//输入北京时间
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入北京时间:");
		String strDate = scanner.nextLine();
		
		//字符串 -> 日历Calendar
		//北京时间
		Calendar beijing = DateUtil.stringToCalendar(strDate);
		System.out.println("北京时间:" + DateUtil.calendarToString(beijing));
		
		//巴黎时间:比北京时间晚7个小时
		beijing.add(Calendar.HOUR, -7);
		System.out.println("巴黎时间:" + DateUtil.calendarToString(beijing));
		
		//纽约时间:比北京时间晚12个小时
		beijing.add(Calendar.HOUR, -5);
		System.out.println("纽约时间:" + DateUtil.calendarToString(beijing));
	}

	private static void methodOne() throws ParseException {
		//输入北京时间
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入北京时间:");
		String strDate = scanner.nextLine();
		
		//字符串 - >日期
		//北京时间
		Date beijing = DateUtil.stringToUtilDate(strDate);
		System.out.println("北京时间:" + DateUtil.utilDateToString(beijing));
		
		//巴黎时间:比北京时间晚7个小时
		Date paris = new Date(beijing.getTime() - 7*60*60*1000);
		System.out.println("巴黎时间:" + DateUtil.utilDateToString(paris));
		
		//纽约时间:比北京时间晚12个小时
		Date newYork = new Date(beijing.getTime() - 12*60*60*1000);
		System.out.println("纽约时间:" + DateUtil.utilDateToString(newYork));
	}
}

分割线


相关信息

以上就是我关于 Java工具类-Calendar日历类-练习题 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4