介绍二、思路
这篇文章将为大家详细讲解有关Android如何实现抢购倒计时功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、效果图
二、思路
算多少秒,秒数取余60岁(满足分后剩下的秒数)
引用>
算多少分,秒数除60,再取60余(总分数满足小时后剩下的分数)
算多少时,秒数除60,除60,再取余24(总小时满足天后剩下的小时)
算多少天,秒数除60,除60,除24等到的整数就是天数三,实现步骤:
我们这里的时间格式为后台返回,格式为:
2021 - 12 - 24,就是1,时间转换的工具类
,//将年- - -月- - -天,时:分:秒转化为毫秒格式 ,public static  long residueTimeout (String endDate, String newDate), throws ParseException { SimpleDateFormat 才能;df =, new SimpleDateFormat (“yyyy-MM-dd  HH: mm: ss"); Date 才能;d1 =, df.parse (endDate); Date 才能;d2 =, df.parse (newDate); long 才能;diff =, d1.getTime(),安康;d2.getTime (); return 才能;差异; ,} ,/* *,才能将毫秒转换成时间戳 ,*/,public static String  stampToDate (Long s), { String 才能,res; SimpleDateFormat 才能;SimpleDateFormat =, new SimpleDateFormat (“yyyy-MM-dd  HH: mm: ss"); Date 才能;Date =, new 日期(年代); 时间=res 才能;simpleDateFormat.format(日期); return 才能,res; 以前,}>2,时间倒计时工具类
package com.sjl.keeplive.huawei; import android.os.CountDownTimer;/* * ,*倒计时工具类 ,*/public class  CountDownTimerUtils {/* * *,才能倒计时结束的回调接口 ,*/,public interface FinishDelegate  { void 才能onFinish (); ,}/* * *,才能定期回调的接口 ,*/,public interface TickDelegate  { void 才能onTick (long pMillisUntilFinished); ,} ,private final  static long  ONE_SECOND =, 1000;/* * *,才能总倒计时时间 ,*/,private long mMillisInFuture =, 0;/* * *,才能定期回调的时间,必须大于0,否则会出现ANR ,*/,private long  mCountDownInterval;/* * *,才能倒计时结束的回调 ,*/,private FinishDelegate  mFinishDelegate;/* * *,才能定期回调 ,*/,private TickDelegate  mTickDelegate; ,private MyCountDownTimer  mCountDownTimer;/* * *,才能获取,CountDownTimerUtils ,* *,才能@return CountDownTimerUtils ,*/,public static CountDownTimerUtils  getCountDownTimer (), { return 才能;new  CountDownTimerUtils (); ,}/* * *,才能设置定期回调的时间,调用{@link # setTickDelegate (TickDelegate)} ,* *,才能@param pCountDownInterval 定期回调的时间,必须大于0 *,才能@return CountDownTimerUtils ,*/,public CountDownTimerUtils  setCountDownInterval (long pCountDownInterval), { 时间=this.mCountDownInterval 才能;pCountDownInterval; return 才能;; ,}/* * *,才能设置倒计时结束的回调 ,* *,才能@param pFinishDelegate 倒计时结束的回调接口 *,才能@return CountDownTimerUtils ,*/,public CountDownTimerUtils  setFinishDelegate (FinishDelegate pFinishDelegate), { 时间=this.mFinishDelegate 才能;pFinishDelegate; return 才能;; ,}/* * *,才能设置总倒计时时间 ,* *,才能@param pMillisInFuture 总倒计时时间 *,才能@return CountDownTimerUtils ,*/,public CountDownTimerUtils  setMillisInFuture (long pMillisInFuture), { 时间=this.mMillisInFuture 才能;pMillisInFuture; return 才能;; ,}/* * *,才能设置定期回调 ,* *,才能@param pTickDelegate 定期回调接口 *,才能@return CountDownTimerUtils ,*/,public CountDownTimerUtils  setTickDelegate (TickDelegate pTickDelegate), { 时间=this.mTickDelegate 才能;pTickDelegate; return 才能;; ,} ,public void create (), { if 才能;(mCountDownTimer !=, null), { ,,mCountDownTimer.cancel (); ,,mCountDownTimer =,空; ,,} if 才能;(mCountDownInterval & lt;=, 0), { ,,mCountDownInterval =, mMillisInFuture +, ONE_SECOND; ,,} 时间=mCountDownTimer 才能;new MyCountDownTimer (mCountDownInterval mMillisInFuture也); mCountDownTimer.setTickDelegate才能(mTickDelegate); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullAndroid如何实现抢购倒计时功能