我想在我的应用程序中实现一个计时器,该计时器显示新更新何时发布。
Importand是使用我的应用程序的每个人看到的计时器相同,但剩余时间相同。
有人知道我可以如何存档吗?
更新:
到目前为止,我已经尝试过了:
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy, HH:mm:ss");
formatter.setLenient(false);
String endTime = "11.10.2019, 15:23:00";
Date endDate;
try {
endDate = formatter.parse(endTime);
timer = endDate.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (java.text.ParseException e) {
e.printStackTrace();
}
startTime = System.currentTimeMillis();
diff = timer - startTime;
new CountDownTimer(timer, 1000) {
@Override
public void onTick(long millisUntilFinished) {
startTime=startTime-1;
long serverUptimeSeconds =
(millisUntilFinished - startTime) / 1000;
String hms = (String.format("%d", serverUptimeSeconds / 86400)+"d "+String.format("%d", (serverUptimeSeconds % 86400) / 3600)+"h "+ String.format("%d", ((serverUptimeSeconds % 86400) % 3600) / 60))+"m " + String.format("%d", ((serverUptimeSeconds % 86400) % 3600) % 60)+"s ";
counter.setTitle(hms);
}
它显示剩余时间,具体取决于我写的日期和时间
String endTime = "11.10.2019, 15:23:00";
以及用户时区。
如何归档所有人看到的剩余时间不是基于他们的时区,而是我的时区:GMT + 2?
最佳答案
您只能在一个时区获得时间。并且所有用户将看到相同的时间结果,而与用户的时区无关
TimeZone tz = TimeZone.getTimeZone("GMT+02:00");
Calendar c = Calendar.getInstance(tz);
String time = String.format("%02d" , c.get(Calendar.HOUR_OF_DAY))+":"+
String.format("%02d" , c.get(Calendar.MINUTE))+":"+
String.format("%02d" , c.get(Calendar.SECOND))+":"+
String.format("%03d" , c.get(Calendar.MILLISECOND));
关于java - 我如何写一个大家都看到的公共(public)计时器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58334953/