Przechowuję godziny/daty w bazie danych przy użyciu znacznika czasu unix. Chcę wtedy pobrać wszystkie wystąpienia w określonym dniu, dlatego też muszę obliczyć znacznik czasu na początku dnia, aby wysłać zapytanie do bazy danych.Pobierz sygnaturę czasową na początek dnia
Zrobiłem podobną rzecz w php, przekazując mktime wartości dnia/miesiąca/roku z obiektu daty i ustawienie godziny i minuty na zero. Wydaje się, że nie ma podobnych funkcji w java/android (funkcje uzyskiwania określonych części daty są przestarzałe)
Czy ktoś może udzielić wskazówek na ten temat? Dzięki
Edit:
Ok więc zdałem sobie sprawę, że to może działać:
public static int startOfDay(Timestamp time) {
Calendar cal = dateToCalendar(new Date(time.getTime()));
cal.add(Calendar.HOUR_OF_DAY, -Calendar.HOUR_OF_DAY);
cal.add(Calendar.MINUTE, -Calendar.MINUTE);
cal.add(Calendar.SECOND, -Calendar.SECOND);
Log.i("Time", cal.getTime().toString());
return (int) cal.getTimeInMillis()/1000;
}
Jednak kiedy wpadłem to właśnie teraz mam:
Sob 15 grudnia 01:24:00 GMT 2012
Sekundy są prawidłowe, ale godzina i minuta są nieprawidłowe?
Och, dzięki nie zdawałem sobie sprawy, że to działa tak. –
jak nazwać tę metodę –