Java工具类-Calendar日历类-练习题
原创约 1167 字大约 4 分钟...
221-Java工具类-Calendar日历类-练习题.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
示例代码
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