使用日期类和计时器模拟商品促销

题目如下:

计算商品促销日期: 商场需要在一件商品过期的前两周的周五开始做促销 计算商品过期日期往前推两周的周五的日期

  1. 拟定过期日期为: String dieTime = “2020年6月27号”

思路以及用到的知识点分析:

  1. 1.使用日期,那就必须有一个Calendar,这里有两种创建方法:其一是通过Calendar的子类来创建new GregorianCalendar(),另一种是通过静态工厂的方法来创建Calendar.getInstance();
    2.将日期类型格式化输出(String—>Date),将字符串类型的日期用date类型的日期输出;
    3.日期的定位与设置方法;
    4.定时器的使用方法;

下面我们在代码中进行详细的分析和实现它:


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;/*** 计算商品促销日期: 商场需要在一件商品过期的前两周的周五开始做促销 计算商品过期日期往前推两周的周五的日期* * String dieTime = "2020年6月27号"**/
public class Promotion {// 程序入口public static void main(String[] args) {//利用静态工厂创建一个Calendar的对象Calendar overdue = Calendar.getInstance();//设置一个字符串型的商品过期日期String dieTime = "2020年06月27日";//创建date类,获取当前系统日期Date nowdate = overdue.getTime();     //将日期类型格式化输出(String--->Date)SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");//将字符串类型的日期用date类型的日期输出//Date = date =sdf.parse(dieTime);  此时会出现异常,我们就需要捕获异常Date dieDate = null;//定义一个名为Diedate(过期日期)的Data类型的变量try {// 把String类型的日期格式转化为Date类型的dieDate = sdf.parse(dieTime);          } catch (ParseException e) {e.printStackTrace();}//设置商品的过期日期overdue.setTime(dieDate);//此处需要初始化dieDate的值//输出String类型的商品过期日期System.out.println("商品的过期日期为:"+sdf.format(overdue.getTime()));//将日期前推两周overdue.add(Calendar.WEEK_OF_MONTH, -2);//定位到周五的日期overdue.set(Calendar.DAY_OF_WEEK, 6);// 获取String类型的促销活动日期(定义一个String类型的字符串去接收)String str1 = sdf.format(overdue.getTime());//输出促销日期System.out.println("促销日期为:"+str1);//将日期设置成原来的日期overdue.setTime(nowdate);//创建定时器,模拟时间流逝Timer timer = new Timer();//使用schedule方法,进行模拟timer.schedule(new TimerTask() {//从指定的时间开始 ,对指定的任务执行重复的固定延迟执行的方法 。@Overridepublic void run() {//方法体//每执行一次,天数+1overdue.add(Calendar.DATE, 1);// 获取当天String类型的日期String str2=sdf.format(overdue.getTime());//判断是否到了促销的日期if(str2.equals(str1)) {//如果到了//输出当天String类型的日期 + 促销活动开始了System.out.println(str2+"\t促销活动开始了");//取消定时器timer.cancel();}else {//如果没到//输出当天的日期System.out.println(str2);}}//程序执行1秒后开始跑定时器,之后没间隔1秒钟跑一次}, 1000, 1000);}}

来看看运行效果图吧!

今日分享就到这儿了,若有不足之处,欢迎各位业界大佬指正!

使用日期类和计时器模拟商品促销相关推荐

  1. [C++]日期类计算器的模拟实现

    目录 日期类计算器的模拟实现:: 1.获取某年某月的天数 2.构造函数 3.拷贝构造函数 4.赋值运算符重载 5.析构函数 6.日期+=天数 7.日期+天数 8.日期-天数 9.日期-=天数 10.前 ...

  2. Calendar之商品促销活动

    Calendar之商品促销活动日期 直接看题目: 计算商品促销日期: 商场需要在一件商品过期的前两周的周五开始做促销 计算商品过期日期往前推两周的周五的日期 public class ShangPin ...

  3. 【c/c++编程】促销计算、反序数、进制转换、排版类问题、杨辉三角形、日期类问题

    目录 促销计算 反序数 转进制 10 进制转 x 进制代码(x<10 10 进制转 x 进制(通用版 x 进制转 10 进制(x 为 2 时) x 进制转 10 进制(通用版 x 进制转 y进制 ...

  4. JAVA简单模拟商品购买,记录购买日志

    JAVA模拟商品购买,生成购买记录. 1.Product类 public class Product {int proId;//商品IDint proPrice;//积分int proNum;//数量 ...

  5. 程序员过关斩将--论商品促销代码的优雅性

    点击上方蓝色字体,关注我们 菜菜哥,YY说你帮她解决了几个问题,也帮我解决一个呗 原来是D妹子,来坐我身边,说下情况 我的项目是个电商项目,现在产品狗要给商品做活动 正常呀 我一个新手初来咋到顶不住压 ...

  6. java 类数组_Java常用类-字符串、日期类、算法及数组工具类等

    大家好,乐字节的小乐又和大家见面了.这次要给大家讲述的是Java常用类. 主要有以下知识点: Ø 字符串相关类(String .StringBuffer.StringBuilder) Ø 算法及数组工 ...

  7. 七夕活动运营,社交游戏类应用如何做好商品管理

    是的没错!周六就是一年一度的七夕了. 相信大部分人,都想在这个中国传统爱情节日里做点浪漫事,而对于勤劳的运营人士,尤其是社交及游戏类应用的运营者来说,七夕是暑期档乃至下半年不容错过的重要节点,时机难得 ...

  8. 冰冰学习笔记:string类的简单模拟

    欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正. 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位大佬.帅哥.美女点点支 ...

  9. 大话设计模式笔记(二)——商品促销 策略模式

    第二章商品促销--策略模式 需求:商品价格计算,并增加折扣条件 工厂模式UML图 在工厂模式中,调用端代码会通过折扣工厂类生成折扣对象,折扣对象调用折扣方法.这里关联了两个类,工厂类和抽象折扣类. 策 ...

最新文章

  1. pytorch 归一化与反归一化
  2. CFNet 论文解读
  3. 什么技术能改变世界?
  4. SpringBoot 使用 log4j2
  5. skywalking 安装_分布式监控系统SkyWalking
  6. 【转】.NET Interop入门-P/Invoke和Reverse P/Invoke
  7. 一个存储过程,折腾了我半天
  8. 递归神经网络的非零初始状态
  9. 皮尔逊系数皮尔逊系数---K近算法之皮尔逊系数
  10. dosbox详细安装级及使用
  11. x2检验(chi-square test)或称卡方检验
  12. 数字图像处理(2): 颜色空间/模型—— RGB, CMY/CMYK, HSI, HSV, YUV
  13. Springboot 中类不能使用@Value注解从yml中加载值
  14. window安装mysql默认密码忘记_MySQL忘记root密码的处理办法及安装windows服务
  15. 雪花算法-java实现
  16. 使用JXTA技术建立P2P网络(转)
  17. 这样理解mmap,挺有意思!
  18. linux中perl的环境变量,在Perl脚本中使用Bash环境变量?
  19. 天猫上有哪些值得信赖的购买ipad的旗舰店推荐?
  20. 高数_第3章重积分_二重积分_求平面(曲面)所围立体的体积

热门文章

  1. Pandas导出CSV文件中文乱码解决方法
  2. seaborn seaborn色板的使用设置(二)
  3. 转:使用DOS命令chcp查看windows操作系统的默认编码以及编码和语言的对应关系
  4. useful eclipse plugins
  5. 如何使用Visual C进行画图
  6. SIP开源项目opensip,Freeswitch
  7. 预习计算机组成原理之计算机的运算方法——笔记4
  8. 基于云开发创建(小程序云商城,基本页面的创建及动态代码的编写)
  9. jQuery如何根据元素值删除数组元素
  10. 小程序上传文件报错uploadFile:fail url scheme is invalid,uploadFile:fail createUploadTask:fail Error: Invalid