Convertir entier de dates/heures de timestamp unix en Java?
Cela s'applique principalement à android, mais elle pourrait être utilisée en Java. J'ai ces auditeurs:
int year, month, day, hour, minute;
//the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
year = year;
month = monthOfYear;
day = dayOfMonth;
}
};
//the callback received when the user "sets" the time in the dialog
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
hour = hourOfDay;
minute = minute;
}
};
Comment pourrais-je convertir int year, month, day, hour, minute;
à un timestamp unix? Est-ce possible sans le Date
classe?
Pourquoi ne voulez-vous pas utiliser la classe date?
Pour éviter que la Date de création de l'objet comme indiqué ici: stackoverflow.com/questions/732034/getting-unixtime-in-java
Pas possible sans avoir également locale de l'utilisateur! (je suppose que vous faites dans android, mais en général l'extension java, vous n'avez pas assez d'informations dans l'échantillon pour le faire.)
Pour éviter que la Date de création de l'objet comme indiqué ici: stackoverflow.com/questions/732034/getting-unixtime-in-java
Pas possible sans avoir également locale de l'utilisateur! (je suppose que vous faites dans android, mais en général l'extension java, vous n'avez pas assez d'informations dans l'échantillon pour le faire.)
OriginalL'auteur Mohit Deshpande | 2011-01-12
Vous devez vous connecter pour publier un commentaire.
Ok, utiliser le Calendrier, car c'est préféré à ce Jour de toute façon:
Calendrier ne pourra pas faire des calculs jusqu'à
getTimeMillis()
est appelé et est conçu pour être plus efficace queDate
.Non seulement serait-il travailler, c'est plus efficace, donc oui réglage de tous avec la même méthode d'appel serait encore mieux.
Qu'en est GregorianCalendar - qui serait plus efficace que le Calendrier?
Comment est-il plus efficace?
OriginalL'auteur Jerry Brady
Je suis en supposant que vous vous voulez éviter l'objet de frais généraux, donc je ne dis pas n'importe quelle Date du Calendrier ou des classes; plutôt, vous pouvez calculer directement la valeur.
Calculer le nombre de jours depuis le 1er janvier 1970 à la choisi année/mois/jour, et multipliez-le par
24 * 3600
, puis ajouterhour * 3600 + minute * 60
pour obtenir le nombre de secondes à partir de 1970-01-01 00:00 à la date choisie et le temps.Il est bien connu les algorithmes de pour le calcul des jours entre deux dates.
OriginalL'auteur Stephen P
Étant donné que je voulais compte de l'heure d'été aussi bien, avec de fuseau horaire local, donc après avoir cherché pendant des heures toutes les solutions possibles, ce qui a fonctionné pour moi a été comme suit:
OriginalL'auteur zeeshan