Java秒杀倒计时LocalDateTime案例练习

**训练目标**:掌握Java中LocalDateTime的使用,以及理解其在实际开发中的应用

**需求背景**:秒杀是网上竞拍的一种新方式,指商家在网络平台发布一些超低价格的商品,让所有买家在同一时间抢购的一种销售方式。由于商品价格非常低廉,通常活动时间一到,商品就会被买家抢购一空,有时甚至只用一秒钟,所以该种方式被称为秒杀。在秒杀活动页面往往会有一个倒计时的功能,如下图所示:

|
| ------------------------------------------------------------ |

**需求描述**:请在素材的seckill项目的指定位置补全相关的代码,实现秒杀倒计时的功能!秒杀开始时间为:明天的06时0分0秒。

案例执行效果如下所示:

| ![image-20220124223217185](image/image-20220124223217185.png) |
| ------------------------------------------------------------ |

**实现提示**

1、在TimeTask类中补全代码

2、在TimeTask的构造方法中初始化秒杀开始时间

3、在TimeTask的run方法中,获取当前系统时间,然后计算当前系统时间与秒杀开始时间相差的毫秒值

4、然后将毫秒值转换成对应的时、分、秒

public class Entry {
   public static void main(String[] args) {
        // 创建一个定时器对象
        Timer timer = new Timer() ;
        timer.schedule(new TimeTask(), 0 , 1000);         // 每隔1秒执行一次
    }
}
public class TimeTask extends TimerTask {
    // 定义秒杀开始时间
    private LocalDateTime startTime; // 秒杀开始时间

    // 构造方法,对秒杀开始时间进行初始化
    public TimeTask() {
        // 1、初始化开始时间是明天6点钟。
        startTime = LocalDateTime.of(2023,11,13, 6, 0,0);
    }

    @Override
    public void run() {   // 每一秒执行一次该方法
        // 2、获取当前系统的时间点
        LocalDateTime now = LocalDateTime.now();
        // 3、输出当前倒计时信息。(时间差信息)
        Duration duration = Duration.between(now, startTime);
        // 4、拿时间信息。
        System.out.println(duration.toHoursPart() + ":" + duration.toMinutesPart() + ":" + duration.toSecondsPart());
    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值