如何创建特定日期的倒计时?

2023-12-07

如何创建特定日期的倒计时?

我想创建一个从当前日期倒计时到特定日期的倒计时。 我也尝试过 stackoverflow 代码。然而,我的天数过多或者计时器不起作用。

我的时间片段.java

import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.os.CountDownTimer;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.kalirobot.daring.R;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;


public class TimeFragment extends Fragment {

    private TextView timer;
    public static TimeFragment newInstance() {
        return new TimeFragment();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_time, container, false);
        timer = view.findViewById(R.id.textView3);

        Calendar start_calendar = Calendar.getInstance();
        Calendar end_calendar = Calendar.getInstance();
        // end DAY
        end_calendar.set(2020, 8, 23);

        long start_millis = start_calendar.getTimeInMillis();
        long end_millis = end_calendar.getTimeInMillis();
        long total_millis = (end_millis - start_millis);


        CountDownTimer cdt = new CountDownTimer(total_millis, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                long days = TimeUnit.MILLISECONDS.toDays(millisUntilFinished);
                millisUntilFinished -= TimeUnit.DAYS.toMillis(days);
                long hours = TimeUnit.MILLISECONDS.toHours(millisUntilFinished);
                millisUntilFinished -= TimeUnit.HOURS.toMillis(hours);
                long minutes = TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished);
                millisUntilFinished -= TimeUnit.MINUTES.toMillis(minutes);
                long seconds = TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished);
                timer.setText(days + ":" + hours + ":" + minutes + ":" + seconds);
            }

            @Override
            public void onFinish() {
                timer.setText("Finish!");
            }
        };
        cdt.start();
        return view;
    }
}

现在的输出是51:23:59:41 in the timer while 21将是“天”部分的预期值而不是51.

Hint- 如果您想要同步时间的倒计时

GitHub


你的问题是8不是8月而是9月,9月23日距现在大约还有52天。该月份的索引为 0。

解决办法:使用7八月。

参见例如https://stackoverflow.com/a/344400/2442804试图解释原因。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建特定日期的倒计时? 的相关文章

随机推荐

  • 应用程序未在设备启动时启动

    我使用 BroadcastReceiver 在启动时启动我的应用程序 但它没有启动 这是我的代码 清单代码
  • 如何使 Facebook 应用程序授权弹出窗口显示在 Facebook 页面上的叠加层中

    这正是我所看到的 http www facebook com cocacola sk app 192765884109675我不知道他们是怎么做到的 我尝试了 fb ui 更改显示选项 它总是只给我一个弹出窗口 那么如何进行叠加呢 提前致谢
  • 初始化对象以处理空查询结果

    我有一个像这样的对象模型 public class MyObject public int Prop1 get set public int Prop2 get set 我在 linq to sql 查询中使用这个对象 如下所示 var M
  • JavaScript 组对象

    我已经找了几天了 还没有找到这个具体问题的答案 我正在从 API 中的端点接收 JavaScript 对象数组 我需要根据类型将对象分组在一起 硬编码对象数组示例 scope content things thing one thingTy
  • 使用 HttpClient 模拟 HTTP POST 时出现问题

    我正在尝试使用 HttpClient 以编程方式发送 HTTP Post 请求http ojp nationalrail co uk en s planjourney query但它不喜欢我发送给它的请求 我从 Chrome 浏览器发送的内
  • Selenium Test - 在多个测试运行中保留会话

    我有以下问题 当我开始我的selenium测试时 为了到达执行实际测试的部分 我需要启动浏览器 登录 做一些其他操作 然后就到了我想要测试的部分 有没有办法只执行第一部分一次 让会话和浏览器保持打开状态 对于下一次测试运行 仅继续此会话 而
  • 如何在jasper报告中显示图像

    我创建了一个 jasper 报告 但现在我需要在该 jasper 报告中放置徽标 我将报告和徽标放在同一文件夹中 但我无法运行该报告 它说 net sf jasperreports engine JRException Byte data
  • mysql 中的运行平均值

    我有如下表 id timestamp speed 1 11 00 01 100 2 11 05 01 110 3 11 10 01 90 4 11 15 01 80 我需要计算移动平均线 如下所示 id timestamp speed av
  • 如何在主题中包含 Redux 框架

    如何在 WordPress 主题中包含 Redux 框架 此代码不起作用
  • 如何创建 Google Drive 中的图像文件,然后将其插入到对外部 API 的 Google Apps 脚本 UrlFetchApp.fetch 调用中?

    我正在使用 Google Apps 脚本调用外部 API 以将文本和图像发布给外部系统中的联系人 我已经将文本很好地发布了很多次 没有问题 我以前没有在 Apps 脚本中发送甚至使用过图像 所以我不确定如何将图像作为文件发送 我在 Stac
  • Verilog 奇怪的仿真结果综合后

    我面临一个奇怪的问题 该代码适用于简单的 ALU 仅将感兴趣的代码粘贴到此处 always posedge clk or posedge rst begin if rst 1 begin mul valid shr 3 b000 end e
  • R:如何从列表中提取多个元素的子集

    gt x 1 1 Bob John Tom 2 Claire Betsy 2 1 Strawberry Banana 2 Kiwi 3 1 Red 2 Blue White 假设我有一个清单x如上图所示 我希望对列表中每个条目的第二个元素进
  • 如何在 Perl 中对并行数组进行排序?

    我有几个相同长度的数组 我想对第一个数组进行排序 并使所有其他数组相应地 排序 例如 如果第一个数组是 7 2 9 第二个是 seven two nine 第三个是 VII II IX 排序后 根据第一个数组值升序 我们将有 2 7 9 t
  • Swift 中的日期到毫秒并返回到日期

    我正在获取当前时间 UTC 并将其以纳秒为单位 然后我需要获取纳秒并返回到本地时间的日期 我能够将时间精确到纳秒 然后返回到日期字符串 但是当我从字符串转换到日期时 时间会变得复杂 Date to milliseconds func cur
  • VB.NET 2K8:如何使所有导入在类中可见?

    一般来说 一个常见的 VB NET 类应该如下所示 Public Class MyClassName End Class 此外 如果我没记错的话 我已经看到了所有可见的 import 语句 就像在 C 中一样 Imports System
  • 在运行时将项目添加到 DataGridView 中的 DataGridViewComboBoxColumn

    我正在创建一个带有 DataGridViewComboBoxColumn 列的 DataGridView 最初 组合框 Items 使用 Items Add sometext 填充值 更多值将添加到 DataGridView 的 Editi
  • 对 dplyr 过滤器中的函数参数求反

    我希望这个函数能够对数据框进行子集化并列出不在子集中的行 这是一个例子 library tidyverse library stringr arrests lt USArrests gt rownames to column list ar
  • 如何修改解析语法以允许赋值和非赋值语句?

    所以问题是关于下面的语法 我正在研究一种小型解释语言 我们在课堂上学习了一些编译器设计 所以我想将其提升到一个新的水平并自己尝试一些东西 我被困在试图制作非终结符号Expr Statement Expr SC Expr I need hel
  • 为什么使用属性选择器来匹配类?

    我已经发现一个例子响应式电子邮件模板 其中有如下 CSS 选择器 a class btn 如果可以用更简单的语法替换 为什么要使用这种语法 a btn 它对移动浏览器或其他什么有影响吗 是否有电子邮件客户端需要这种用法 The 语法是一个属
  • 如何创建特定日期的倒计时?

    如何创建特定日期的倒计时 我想创建一个从当前日期倒计时到特定日期的倒计时 我也尝试过 stackoverflow 代码 然而 我的天数过多或者计时器不起作用 我的时间片段 java import android os Bundle impo