我正在尝试计算直到足球比赛开始为止的时间。
这是我所知道的:
我有活动时间: 2016-08-16T19:45:00Z
我知道它的字符串格式是“ yyyy-M-dd’T’h:m:s’Z’ ”
我知道时区是“ CET”。
我希望能够以天为单位计算当前时间与该日期之间的时差。
这是我尝试过的:
String gameDate = "2016-03-19T19:45:00'Z'"
DateFormat apiFormat = new SimpleDateFormat("yyyy-M-dd'T'h:m:s'Z'");
apiFormat.setTimeZone(TimeZone.getTimeZone("CET"));
Date dateOfGame = apiFormat.parse(gameDate);
DateFormat currentDateFormat = new SimpleDateFormat("yyyy-M-dd'T'h:m:s'Z'");
currentDateFormat.setTimeZone(TimeZone.getTimeZone(userTimezone));
Date currentDate = apiFormat.parse(currentDateFormat.format(new Date()));
long lGameDate = dateOfGame.getTime();
long lcurrDate = currentDate.getTime();
long difference = lGameDate - lcurrDate;
Date timeDifference = new Date(difference);
String daysAway = new SimpleDateFormat("d").format(timeDifference);
Integer intDaysAway = Integer.parseInt(daysAway);
您可能想知道为什么我不只是获得游戏日期(8)并减去当前日期(19)。在当前日期是29号而游戏日期是下个月的3号的情况下,我不这样做。