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



目录
相关文章
|
9天前
|
JSON API 数据安全/隐私保护
淘宝评论API接口操作步骤详解,代码示例参考
淘宝评论API接口是淘宝开放平台提供的一项服务,通过该接口,开发者可以访问商品的用户评价和评论。这些评论通常包括评分、文字描述、图片或视频等内容。商家可以利用这些信息更好地了解消费者的需求和偏好,优化产品和服务。同时,消费者也可以从这些评论中获得准确的购买参考,做出更明智的购买决策。
|
20天前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
42 11
|
1月前
|
API
全国行政区划代码与经纬度查询免费API接口教程
该接口提供全国各行政区划代码及经纬度查询服务。通过POST或GET请求,输入用户ID、KEY及地点名称,可获取地区代码、省份、市级、区县级名称及经纬度等信息。示例URL:https://cn.apihz.cn/api/other/xzqhdm.php?id=88888888&key=88888888&sheng=北京&place=北京。返回数据包含状态码、信息提示及查询结果。
154 14
|
1月前
|
API 开发工具 开发者
探究亚马逊国际获得AMAZON商品详情 API 接口功能、作用与实际应用示例
亚马逊提供的Amazon Product Advertising API或Selling Partner API,使开发者能编程访问亚马逊商品数据,包括商品标题、描述、价格等。支持跨境电商和数据分析,提供商品搜索和详情获取等功能。示例代码展示了如何使用Python和boto3库获取特定商品信息。使用时需遵守亚马逊政策并注意可能产生的费用。
|
1月前
|
JSON BI API
商城上货API接口的实战案例
在商城上货过程中,API接口扮演着至关重要的角色。以下是对商城上货API接口的实战分析,涵盖其主要功能、类型、安全性以及实战案例等方面。
|
1月前
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。
|
1月前
|
JSON API 数据格式
Amazon商品详情API,json数据格式示例参考
亚马逊商品详情API接口返回的JSON数据格式通常包含丰富的商品信息,以下是一个简化的JSON数据格式示例参考
|
1月前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
1月前
|
JSON API 数据库
电商拍立淘按图搜索API接口,数据格式示例
电商拍立淘按图搜索API接口系列为电商平台和购物应用提供了强大的图像搜索功能,以下是其文档说明的详细参考
|
1月前
|
JSON API 数据格式
携程API接口系列,酒店景点详情请求示例参考
携程API接口系列涵盖了酒店预订、机票预订、旅游度假产品预订、景点门票预订等多个领域,其中酒店和景点详情请求是较为常用的功能。以下提供酒店和景点详情请求的示例参考

热门文章

最新文章