Le programme ne donne pas d'erreur mais mes codes ne fonctionnent pas correctement. Quand je soustrais entre les chiffres de l'horloge, ça fait faux.Pourquoi la soustraction donne-t-elle le mauvais résultat entre les nombres d'horloge?
Par exemple, Lorsque je soustrais entre 15h00 et 18h00, il en résulte 12h00 au lieu de 3h00.
EDIT: J'ai trouvé un nouveau bug. Quand je compare n'importe quelle heure avec 15:00, le résultat est 12 à chaque fois. Le problème peut être dans d'autres choses. (Par exemple, 15: 00-16: 00 = 12 ou 15: 00-19: 00 = 12)
(En outre, j'utilise une bibliothèque de GitHub pour l'horloge.)
private String startTime = "";
@Bind(R.id.circle_seek_bar)
CircleSeekBar mSeekBar;
List<Item> messages = new ArrayList<>();
private Date finishing, starting;
private long difference, a, b;
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
public void restart() {
mSeekBar.setIsSetStart(false);
if (isAddMessage) {
messages.add(new Item(startTime,
mSeekBar.getCurrent()));
startTime = mSeekBar.getCurrent();
try {
finishing = format.parse(startTime);
b = finishing.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
isAddMessage = false;
} else {
if (isFirst) {
mSeekBar.initInvaildStartAngle();
isFirst = false;
startTime = mSeekBar.getCurrent();
try {
starting =format.parse((mSeekBar.getCurrent()));
a = starting.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
} else {
isAddMessage = true;
difference = a-b;
int minutes = (int) ((difference/(1000 * 60)) % 60);
int hours = (int) ((difference/(1000 * 60 * 60)) % 24) - 1;
text.setText((hours + ":" + minutes));
// text.setText(Integer.toString((int) difference));
}
* J'utilise une bibliothèque de GitHub pour l'horloge. * Qu'est-ce que l'horloge? Et savez-vous combien de bibliothèques il y a sur GitHub? – shmosel
Je ne savais pas s'il était important de le dire. J'utilise ceci: https://github.com/DuanTzXavier/conciseclock @shmosel –
Vous utilisez 'Date' et' SimpleDateFormat' Vous devez simplement trier votre logique pour calculer les heures et les minutes en * x * nombre de millisecondes comme contenu dans 'différence' –