estoy revisando algo de código en el trabajo y encontré una inconsistencia en la forma en que el código controla la adición de 1 semana a la hora actual y se preguntaba si había alguna razón por la que uno realmente debe preferirse sobre el otro:Agregar 1 semana a una fecha, ¿qué camino es el preferido?
La primera era un método de utilidad:
public static Date addDaysToDate(final Date date, int noOfDays) {
Date newDate = new Date(date.getTime());
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(newDate);
calendar.add(Calendar.DATE, noOfDays);
newDate.setTime(calendar.getTime().getTime());
return newDate;
}
Y el segundo aritmética simple milisegundos utilizado:
long theFuture = System.currentTimeMillis() + (86400 * 7 * 1000);
Date nextWeek = new Date(theFuture);
el segundo método utiliza obviamente 'números mágicos' para definir a la semana, pero esto podría ser movida d a una constante MILLISECONDS_IN_ONE_WEEK = 86400 * 7 * 1000
Entonces, aparte de eso, ¿hay alguna razón por la que uno de estos métodos deba preferirse al otro?
Básicamente quiero cambiar el código para que sea coherente en todo momento, pero no estoy del todo seguro de cuál eliminar. Entonces, cualquier argumento de una forma u otra sería útil.
* tos * Use Joda-Time. 'DateTime newDate = date.plusWeeks (1); ' – ColinD
El código se ejecuta en un dispositivo con Windows Mobile utilizando una JVM basada principalmente en Java 1.2. Joda solo se ha probado contra 1.4 y versiones posteriores, por lo que no quiero agregar una biblioteca de terceros que realmente no fue diseñada para ejecutarse en la plataforma que estoy usando. Pero gracias por la sugerencia. – DaveJohnston