Jaki jest najprostszy sposób uzyskania obiektu Calendar
z java.time.Instant
lub java.time.ZonedDateTime
?Konwersja java.time do Kalendarza
Odpowiedz
Natychmiastowy od jest całkiem prosty, pod warunkiem, że istnieje metoda GregorianCalendar#from(ZonedDateTime)
. Przeprowadzono dyskusję w Threeten-dev mail group, dlaczego ta metoda nie jest w klasie Calendar
. Jednak nie jest to zbyt głęboka dyskusja.
Jednak nie ma bezpośredniej metody konwersji z Instant
na Calendar
. Masz mieć na to stan pośredni:
Instant instant = Instant.now();
ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.systemDefault());
Calendar cal1 = GregorianCalendar.from(zdt);
Jest to prawdopodobnie dlatego, że jak wynika z tabeli na this oracle tutorial, an Instant
mapy do Date
zamiast Calendar
. Podobnie, ZonedDateTime
mapuje do Calendar
.
Co powiecie na GregorianCalendar.from(ZonedDateTime.ofInstant(instant, zoneId))
?
Nie można uzyskać ZonedDateTime z TemporalAccessor: 2001-12-17T09: 30: 47Z typu java.time.Instant – Line
Rzeczywiście, musisz także podać ID ZoneId. Zaktualizowałem swoją odpowiedź. –
Musisz uzyskać strefę czasową za pomocą błyskawicy, a następnie uzyskać kalendarz.
Calendar myCalendar = GregorianCalendar.from(ZonedDateTime.ofInstant(Instant.now(), ZoneId.systemDefault()));
- 1. Konwersja czas do milisekundy prawidłowo java.time (Java 8)
- 2. Konwersja daty kalendarza na ciąg?
- 3. Joda Time - Konwersja obiektu kalendarza na LocalDate
- 4. Konwersja kalendarza do formatu XMLGregorianCalendar z określonym formatowaniem
- 5. Android N Java8 java.time
- 6. GridView do widoku kalendarza
- 7. Dodawanie dni do kalendarza
- 8. java.time: DateTimeParseException na bieżąco „20150901023302166”
- 9. Feed XML do kalendarza Google
- 10. Dodaj Weekly wydarzenie do kalendarza
- 11. java.time DateTimeFormatter dla przesunięcia strefy czasowej
- 12. Umieszczanie kalendarza Google w niestandardowych kolorach kalendarza
- 13. Dodaj dodatkowe pola do pełnego kalendarza
- 14. Dodaj wydarzenie do kalendarza w Xcode iOS
- 15. Czy jest wtyczka do kalendarza na tablet?
- 16. Jak przekazywać wydarzenia do kalendarza IPhone
- 17. Biblioteka JavaScript do tworzenia kalendarza HTML
- 18. Dodaj zdjęcie do kalendarza jquery datepicker
- 19. Przeciągnij z sortowalnej listy do pełnego kalendarza
- 20. Linki do Google Hangout z Kalendarza
- 21. Dodawanie wydarzenia do kalendarza bardzo powolne
- 22. przekazać listę dat do kalendarza JQuery
- 23. Brak kalendarza w emulatorze
- 24. Format iCal dla Kalendarza Google/kalendarza Yahoo nie działa
- 25. Wyświetlanie kalendarza na php
- 26. Widok kalendarza z Androidem
- 27. Datepicker nie wyświetla kalendarza
- 28. wdrażanie prostego kalendarza
- 29. j. Kalendarza jQuery - wydarzenia
- 30. Android Dodawanie nowego kalendarza
Co próbowaliście? Jaki jest problem? Jawadoc jest swobodnie dostępny, wiesz. –
Sądząc po twojej reputacji podejrzewam, że prawdopodobnie przetestowałeś 'Calendar cal = Calendar.getInstance(); cal.setTimeInMillis (Instant.now(). toEpochMilli()); "więc co jest nie tak z tym rozwiązaniem? – Pshemo
I pewnie też próbowałeś - 'GregorianCalendar.from (zonedDateTime);' –