一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java 實現倒計時功能(由秒計算天、小時、分鐘、秒)

Java 實現倒計時功能(由秒計算天、小時、分鐘、秒)

2021-03-25 11:18ganshenml Java教程

最近做項目遇到這樣的需求,天、小時、分鐘、秒的數值都是隔開的,服務器端只返回一個時間戳長度,怎么實現這樣的功能呢?下面小編給大家帶來了Java 實現倒計時功能的方案,需要的朋友參考下吧

有時候會要求實現這樣一個需求:

Java 實現倒計時功能(由秒計算天、小時、分鐘、秒)

天、小時、分鐘、秒的數值都是隔開的,服務器端只返回一個時間戳長度。

以下就是我的實現方案,力求減少對象生成、減小計算量:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import java.util.Timer;
import java.util.TimerTask;
public class CountDownUtils {
 private static long day = 0;
 private static long hour = 0;
 private static long minute = 0;
 private static long second = 0;
 private static boolean dayNotAlready = false;
 private static boolean hourNotAlready = false;
 private static boolean minuteNotAlready = false;
 private static boolean secondNotAlready = false;
 public static void main(String[] args) {
 long totalSeconds = 60 * 60 * 24 * 34 + 21;
 initData(totalSeconds);
 new Timer().schedule(new TimerTask() {
  public void run() {
  if (secondNotAlready) {
   startCount();
  } else {
   cancel();
  }
  }
 }, 0, 1000);
 }
 /**
 * 初始化賦值
 *
 * @param totalSeconds
 */
 private static void initData(long totalSeconds) {
 resetData();
 if (totalSeconds > 0) {
  secondNotAlready = true;
  second = totalSeconds;
  if (second >= 60) {
  minuteNotAlready = true;
  minute = second / 60;
  second = second % 60;
  if (minute >= 60) {
   hourNotAlready = true;
   hour = minute / 60;
   minute = minute % 60;
   if (hour > 24) {
   dayNotAlready = true;
   day = hour / 24;
   hour = hour % 24;
   }
  }
  }
 }
 System.out.println("初始格式化后——>" + day + "天" + hour + "小時" + minute
  + "分鐘" + second + "秒");
 }
 private static void resetData() {
 day = 0;
 hour = 0;
 minute = 0;
 second = 0;
 dayNotAlready = false;
 hourNotAlready = false;
 minuteNotAlready = false;
 secondNotAlready = false;
 }
 /**
 * 計算各個值的變動
 *
 */
 public static void startCount() {
 if (secondNotAlready) {
  if (second > 0) {
  second--;
  if (second == 0 && !minuteNotAlready) {
   secondNotAlready = false;
  }
  } else {
  if (minuteNotAlready) {
   if (minute > 0) {
   minute--;
   second = 59;
   if (minute == 0 && !hourNotAlready) {
    minuteNotAlready = false;
   }
   } else {
   if (hourNotAlready) {
    if (hour > 0) {
    hour--;
    minute = 59;
    second = 59;
    if (hour == 0 && !dayNotAlready) {
     hourNotAlready = false;
    }
    } else {
    if (dayNotAlready) {
     day--;
     hour = 23;
     minute = 59;
     second = 59;
     if (day == 0) {
     dayNotAlready = false;
     }
    }
    }
   }
   }
  }
  }
 }
 System.out.println("距離截止日期還有——>" + day + "天" + hour + "小時" + minute
  + "分鐘" + second + "秒");
 }
}

總結

以上所述是小編給大家介紹的Java 實現倒計時功能(由秒計算天、小時、分鐘、秒),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/ganshenml/article/details/79109782

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好逼365| 国内精品视频一区二区三区八戒 | 91sao在线看片水片 | 我被男人下药添得好爽 | 日产中文乱码卡一卡二 | 边吃胸边膜下刺激免费男对女 | 日本搜子同屋的日子2国语 日本爽p大片免费观看 | 国产亚洲精品九九久在线观看 | 午夜国产福利视频一区 | 大乳女子一级毛片 | 久久综合久综合久久鬼色 | 欧美大陆日韩一区二区三区 | 国产一久久香蕉国产线看观看 | 亚洲精品国偷拍自产在线观看蜜臀 | 欧美日韩精品在线观看 | 九色PORNY真实丨国产大胸 | 女子监狱第二季在线观看免费完整版 | 欧美夫妇野外交换hd高清版 | 色婷在线 | 91视频99| 国产精品99久久久 | 免费看黄色片的网站 | 全弄乱纶小说 | 亚洲国产成人综合 | 亚洲精品九色在线网站 | 美女脱了内裤让男生玩屁股 | 99精品热视频 | 夫承子液by免费阅读 | 欧美日韩在线一区二区三区 | 日韩欧美不卡片 | 欧美日韩一区二区三区免费 | 欧美日韩中文国产一区 | 欧美 亚洲 一区 | 免费xxxx日本大片在线观看 | 亚洲视频在线观看地址 | 四虎伊人 | 二次元美女挤奶漫画 | 日本中文字幕一区二区高清在线 | 久久精品国产亚洲AV天美18 | 国产精品视频免费看 | chinese老太granny|