Un Date
in Java rappresenta il numero di millisecondi dal 1970. Questo numero da solo non ha tempo orario specifico. Ciò significa che se si crea una data con new Date()
si ottengono i millisecondi correnti dal 1970 e se si chiama toString su di esso questo valore viene rappresentato nel fuso orario locale corrente. L'ora effettiva rappresentata da questo numero è specifica del fuso orario. Questo è il motivo per cui è possibile impostare un Calendar
su Calendar
e formattare le classi.
creare un'istanza di un calendario con un fuso orario specifico si può fare questo:
public static Calendar getUtcCalendar() {
GregorianCalendar.getInstance(TimeZone.getTimeZone("UTC"));
}
Quindi, per convertire un Date
a un tempo specifico in UTC fuso orario:
Calendar calendar = getUtcCalendar();
calendar.setTime(date);
return calendar;
È possibile utilizzare l'API di data/ora Java 8? –
@MickMnemonic Sto usando Java8 solo –