JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)

简介: JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)

秒杀案例

学习了前面的Date类和SimpleDateFormat类,现在我们就用它们做一个小案例。

需求与分析

需求

  • 小贾下单并付款的时间为:2023年11月11日 0:01:18
  • 小皮下单并付款的时间为:2023年11月11日 0:10:51
  • 秒杀开始时间:2023年11月11日 0:0:0
  • 秒杀结束时间:2023年11月11日 0:10:0
  • 请用代码说明这两位同学有没有参加上秒杀活动?

第一步我们要先把秒杀开始时间、结束时间、小贾下单时间和小皮下单时间都以字符串的格式存储到程序中



要判断两位同学是否成功参与了秒杀活动,就要比较时间值,而只有毫秒值是最好比较的,所以接下来我们的目标就是将字符串一步一步转换成毫秒值。

第二步,先把字符串解析成日期对象。



第三步,把日期对象转换成时间毫秒值来进行比较,判断是否成功参与到了秒杀活动


代码与运行结果

public class Test {
    public static void main(String[] args) throws ParseException {
        //1.把开始时间、结束时间、小贾下单时间、小皮下单时间拿到程序中来。
        String start = "2023年11月11日 0:0:0";
        String end = "2023年11月11日 0:10:0";
        String xj ="2023年11月11日 0:01:18";
        String xp = "2023年11月11日 0:10:57";
 
        //2、把字符串的时间解析成日期对象。
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date startDt = sdf.parse(start);
        Date endDt = sdf.parse(end);
        Date xjDt = sdf.parse(xj);
        Date xpDt = sdf.parse(xp);
 
        //3、把日期对象转换成时间毫秒值来判断,开始判断小皮和小贾是否秒杀成功。
        long startTime = startDt.getTime();
        long endTime = endDt.getTime();
        long xjTime = xjDt.getTime();
        long xpTime = xpDt.getTime();
 
        if(xjTime >= startTime && xjTime <= endTime){
            System.out.println("小贾您秒杀成功了!");
        }else{
            System.out.println("小贾您秒杀失败了~");
        }
 
        if(xpTime >= startTime && xpTime <= endTime){
            System.out.println("小皮您秒杀成功了!");
        }else{
            System.out.println("小皮您秒杀失败了~");
        }
    }
}

运行结果:



完成了这个小案例之后,我们来学习Calendar。

对于某些需求,例如将2024年08月10日增加一个月,我们用上面的思路来解决,需要以下步骤:

  1. 定义字符串记住:2024年08月10日
  2. 把字符串时间解析成Date日期对象
  3. 通过Date日期对象获取2024年8月10日的毫秒值
  4. 增加一个月的毫秒值:1000*60*60*24*30
  5. 再格式化时间毫秒值得到结果:2024年9月10日

而Calendar类就可以把这个问题简单化,直接单独获取、修改时间中的年、月、日、时、分、秒等。

Calendar

  • 代表的是系统此刻时间对应的日历。
  • 通过它可以单独获取、修改时间中的年、月、日、时、分、秒等。

Calendar日历类的常见方法 图片.png

用法示例

public class Test {
    public static void main(String[] args) throws ParseException {
        System.out.println("1.得到系统刺客时间对应的日历对象");
        Calendar now = Calendar.getInstance();
        System.out.println(now);
 
        System.out.println();
 
        System.out.println("2.获取日历中的某个信息");
        int year = now.get(Calendar.YEAR);
        System.out.println(year);
 
        int days = now.get(Calendar.DAY_OF_YEAR);
        System.out.println(days);
 
        System.out.println();
 
        System.out.println("3.拿到日历中记录的日期对象");
        Date d = now.getTime();
        System.out.println(d);
 
        System.out.println();
 
        System.out.println("4.拿到时间毫秒值");
        long time = now.getTimeInMillis();
        System.out.println(time);
 
        System.out.println();
 
        System.out.println("5.修改日历中的某个信息");
        now.set(Calendar.MONTH,9);
        now.set(Calendar.DAY_OF_YEAR,125);
        System.out.println(now);
 
        System.out.println();
 
        System.out.println("6.为某个信息增加或者减少多少");
        now.add(Calendar.DAY_OF_YEAR,100);      //增加100天
        now.add(Calendar.DAY_OF_YEAR,-10);      //减少10天
        now.add(Calendar.DAY_OF_MONTH,-10);
        now.add(Calendar.HOUR,12);
        System.out.println(now);
    }
}

运行结果:



注意:Calendar是可变对象,一旦修改后其对象本身表示的时间将产生变化。


END



目录
相关文章
|
26天前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
42 1
|
10天前
|
JSON API 数据格式
Amazon商品详情API,json数据格式示例参考
亚马逊商品详情API接口返回的JSON数据格式通常包含丰富的商品信息,以下是一个简化的JSON数据格式示例参考
|
19天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
26天前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
5天前
|
JSON API 数据格式
携程API接口系列,酒店景点详情请求示例参考
携程API接口系列涵盖了酒店预订、机票预订、旅游度假产品预订、景点门票预订等多个领域,其中酒店和景点详情请求是较为常用的功能。以下提供酒店和景点详情请求的示例参考
|
1月前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索json数据格式示例(API接口)
拍立淘按图搜索API接口为电商平台和购物应用提供了强大的图像搜索功能,能够显著提升用户的购物体验和搜索效率。开发者可以根据自己的需求调用此接口,并处理返回的JSON格式数据来展示推荐商品
|
9天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
1月前
|
JavaScript 前端开发 Java
多种语言请求API接口方法
每种语言和库的选择取决于具体需求、项目环境以及个人偏好。了解这些基本方法,开发者就可以根据项目需求选择合适的语言和库来高效地与API交互。
37 1
|
1月前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
1月前
|
JSON API 数据格式
商品详情数据JSON格式示例参考(api接口)
JSON数据格式的商品详情数据通常包含商品的多个层级信息,以下是一个综合多个来源信息的JSON数据格式的商品详情数据示例参考: