用户输入商品生产日期和保质期(天数),通过程序计算促销日期。

* 用户输入商品生产日期和保质期(天数),通过程序计算促销日期。
* 计算规则为:到保质期前14天所在周的周三为促销日。

/**
 * 用户输入商品生产日期和保质期(天数),通过程序计算促销日期。
 * 计算规则为:到保质期前14天所在周的周三为促销日。控制台交互情况如图-1所示
 * 思路:
 * 1. 用户输入生产日期和保质期(天数),就可以求出 过期日期
 * 2. 通过过期日期减去14天即为促销日期所在的周
 * 3. 通过所在周求出周三的日期
 * 算法:
 * 1.通过用户输入的两个日期,转换生产日期字符串为DATE类型,然后通过calendar进行加30天的计算,求出过期的日期
 * 2.通过calendar的过期日期,减去14天,计算出促销日期所在周
 * 3.设置calendar的为周三,即为促销日
 * 4.转换为DATE在转换为STR输出。
 *
 */
public class HomeWork01 {
    public static void main(String[] args) throws ParseException {
        Scanner s = new Scanner(System.in);

        System.out.println("请输入生产日期(yyyy-MM-dd)");
        //用户输入生产日期
        String produceDate_usr = s.next();
        //用户输入保质期(天数)
        System.out.println("请输入保质期(天数)");
        int badDays_usr = s.nextInt();
        //根据用户输入的两个日期,求出过期日期为
        //首先,需要SDF定义时间格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        //Str --- Data  用 sdf.prase(produceDate_usr)
        Date produceDate = sdf.parse(produceDate_usr);

        //然后转换date为了进行calendar计算加30天的记过
        //Date ----  Calendar 用 calendar.setTime()
        //前提:先建立Calendar实例
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(produceDate);

        //转换完成进行计算,先加30天保质期,用 calendar.add(Calendar.Day_Of_Year,30)
        calendar.add(Calendar.DAY_OF_YEAR,    badDays_usr );
        //加完30天减去14天
        calendar.add(Calendar.DAY_OF_YEAR, -14);
        //已经到促销的这周,设置周三的日期
//        System.out.println(calendar.getTime());
        calendar.set(Calendar.DAY_OF_WEEK, 4);
        //计算完毕,Calendar ---- Data  用calendar.getTime()
//        System.out.println(calendar.getTime());
        Date goodDate = calendar.getTime();

        //然后Date转换成字符串形式输出  Date ---- Str用  sdf.format(goodDate);
        String result = sdf.format(goodDate);

        //输出结果
        System.out.println("促销日期:"+result);
    }
}

时间: 2024-12-19 10:10:22

用户输入商品生产日期和保质期(天数),通过程序计算促销日期。的相关文章

PHP中实现支持显示格式化的用户输入

你可以在这个页面下载这个文档附带的文件,也可以在文件下载中的字符处理中下载这个文档描述如何安全显示的有格式的用户输入.我们将讨论没有经过过滤的输出的危险,给出一个安全的显示格式化输出的方法. 没有过滤输出的危险 如果你仅仅获得用户的输入然后显示它,你可能会破坏你的输出页面,如一些人能恶意地在他们提交的输入框中嵌入javascript脚本: This is my comment. <script language="javascript: alert('Do something bad he

Class - 7 用户输入和while循环

7.1 函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,python将其存储在一个变量中,以方便使用.例: message = input("Tell me somethhing, and i will repeat it back to you:") print(message) 输出: Tell me somethhing, and i will repeat it back to you:Hello! Hello! 函数inp

编程题:用函数实现,用户输入年月日,来计算出该日期为当年第几天?

#include<stdio.h> /*函数is_leap_year()的返回值是判断该年是否闰年*/ int is_leap_year(int year) { int leap; if(year%4==0&&year%100!=0||year%400==0) leap=1; else leap=0; return leap; } /*函数len_of_month()的返回值为某年year的某月month的天数*/ int len_of_month(int year,int m

验证Android用户输入日期

如何验证用户输入的日期是有效还是无效? private Pattern pattern; private Matcher matcher; private static final String DATE_PATTERN = "(0?[1-9]|1[012]) [/.-] (0?[1-9]|[12][0-9]|3[01]) [/.-] ((19|20)\\d\\d)"; /** * Validate date format with regular expression * @para

Oracle function实现根据输入的日期以及天数,获取此日期之后的天数的工作日

前提:在法定节日表(t_fdjr )中维护法定节日包括周六周天 /** * 功能描述:根据输入的日期以及天数,获取此日期之后的天数的工作日 * 输入参数: * i_date YYYY-MM-DD * i_day 天数 */ create or replace function fun_get_workday(i_date varchar2, i_day number) return varchar2 is k int:=0; d1 date; d2 date; begin k := i_day;

C/C++输入两个任意日期求相隔天数

将两个日期转换成与一个指定日期(例1970-01-01)之间的差然后计算 思路: 两个日期相隔天数的计算,首先可以将两个日期转换成time_t(从指定日期至1970年1月1日0时0分0秒相隔的秒数),然后计算两个time_t的秒数差,最后用此秒数差除以24*3600秒就可以得到相隔的天数.所以程序中需要建立两个函数,一个是将日期转换成time_t的函数,一个是计算日期相隔天数的函数. 例: 1)建立程序的主体结构: 1 #include<stdio.h> 2 #include<stdli

输入年份,月份,日期计算该日期是一年中的第几天//雪碧和可乐temp

输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出"星期一"(用两种方式实现) int day; printf("请输入1~7的数字"); scanf("%d",&day); if(day>0&&day<8) { //多重if...else if条件分支实现 if(day==1){ printf("星期一"); }else if(day==2){ prin

【C语言】 计算任意2个日期之间的天数

[本文原创于Paul的博客园技术博客.] [本文欢迎转载,转载请以链接形式注明出处.] [本博客所有文章都经博主精心整理,请尊重我的劳动成果.] [C语言] 计算任意2个日期之间的天数 1. 要判断时间的合法性(如果不想判断也可以) 2. 判断两个日期之间的天数 判断输入的年份是不是闰年:年份是否相同:月份是否相同:日是否相同?同年同月最好计算,日数相减就出来了:同年不同月也好计算,计算中间相隔几个月,转换成天数,小的日期距月底有多少天,大的日期距月初多少天,三个数相加:关键是不同年的日期计算:

HTML表单处理用户输入

1.HTML表单用于收集用户输入.通过<form> </form>标签定义 2.<input> 元素是最重要的文本元素. 2.1.text定义常规文本输入,password定义密码字段 <form > User name:<br> <input type="text" name="userid"> <br> User password:<br> <input typ