我试图实现一个'日期'倒计时计时器使用AndroidCountdown Timer
类和Java时间
从当前的一天,小时,分钟,秒到26十二月,2013 9:00 AM倒计时。下面是我的代码:
FestCountdownTimer timer = new FestCountdownTimer(00, 00, 9, 26, 12, 2013);
new CountDownTimer(timer.getIntervalMillis(), 1000) {
@Override
public void onTick(long millisUntilFinished) {
int days = (int) ((millisUntilFinished / 1000) / 86400);
int hours = (int) (((millisUntilFinished / 1000)
- (days * 86400)) / 3600);
int minutes = (int) (((millisUntilFinished / 1000)
- (days * 86400) - (hours * 3600)) / 60);
int seconds = (int) ((millisUntilFinished / 1000) % 60);
String countdown = String.format("%02dd %02dh %02dm %02ds", days,
hours, minutes, seconds);
countdownTimer.setText(countdown);
}
@Override
public void onFinish() {
countdownBegins.setVisibility(View.GONE);
countdownTimer.setText("IT'S HERE!");
}
}.start();
这里是我的FestCountdown Timer
类:
public class FestCountdownTimer {
private long intervalMillis;
public FestCountdownTimer(int second, int minute, int hour, int monthDay, int month, int year) {
Time futureTime = new Time();
// Set date to future time
futureTime.set(second, minute, hour, monthDay, month, year);
futureTime.normalize(true);
long futureMillis = futureTime.toMillis(true);
Time timeNow = new Time();
// Set date to current time
timeNow.setToNow();
timeNow.normalize(true);
long nowMillis = timeNow.toMillis(true);
// Subtract current milliseconds time from future milliseconds time to retrieve interval
intervalMillis = futureMillis - nowMillis;
}
public long getIntervalMillis() {
return intervalMillis;
}
}
现在时、分、秒都没问题。只是天数来了40。现在我把日期定在这个月的26号,2013年。所以目前26 - 16 = 10天。这应该是显示的天数。那为什么显示40?请帮忙。谢谢大家。
你必须在考试中改正错误
FestCountdownTimer timer = new FestCountdownTimer(00, 00, 9, 26, 11,
2013);
与此相反:
FestCountdownTimer timer = new FestCountdownTimer(00, 00, 9, 26, 12,
2013);
因为:
voidAndroid。文本总体安排时间设置(整数秒、整数分钟、整数小时、整数月、整数年)
将方法设置为如下所示:
API级别3中添加的公共无效集(int second、int minute、int hour、int monthDay、int month、int year)设置字段。将工作日、年日和gmtoff设置为0,将isDst设置为-1。如果需要,请调用normalize(boolean)。
在android.text.format.时间,有文件证明月份值范围是从0到11,所以十二月应该在这个api中有(不直观的)值11。所以当你说12天而不是11天时,你未来的日期是在一月份,然后你是30/31天后,这可以解释你的结果是40天而不是10天。
我为你使用如此糟糕的api感到抱歉。
我试图使一个倒计时,显示总天数,小时,分钟和秒的剩余特定日期。 这就是我到目前为止所创造的。 我用过计时器,它用Console.WriteLine计数,但TextViews什么也不显示,也不更新...有人知道如何每秒钟更新TextViews吗?
我正在尝试实现一个倒计时计时器,它将使用一个特定的日期和时间开始。从那里,我需要它从1小时倒计时,然后更新最初的日期和时间,增加一个小时,然后无限期地重复自己。 这是用于一个产品拍卖,将得到一个新的产品,一旦一个售完,价格下降每小时从它添加到拍卖,可能是一天中的任何时间。 示例: 我需要这个计时器在2014,7,25,11,30,0,0开始(2014年8月25日美国东部时间上午11:30),它将倒
问题内容: 我接收到来自Twitter的特定日期以特定格式发送的Twitter消息: 我想将这些日期存储在带有djangos DateTimeField字段的postgresql中的“带有时区的时间戳”字段中。但是,当我存储该字符串时,出现此错误: 我可以自动将twitter datetype转换为python datetime时间(在我的应用程序中的其他地方可以保存日期)。 问题答案: 编写这样
介绍 用于实时展示倒计时数值,支持毫秒精度。 引入 import { createApp } from 'vue'; import { CountDown } from 'vant'; const app = createApp(); app.use(CountDown); 代码演示 基础用法 time 属性表示倒计时总时长,单位为毫秒。 <van-count-down :time="time