Jak uzyskać godzinę dnia w Swift. Próbowałem już NSCalendar
i NSDateComponents
, ale obawiam się, że dopiero zaczynam od Swift.Jak uzyskać godzinę dnia dzięki Swift?
Odpowiedz
Swift 3:
let date = Date()// Aug 25, 2017, 11:55 AM
let calendar = Calendar.current
let hour = calendar.component(.hour, from: date) //11
let minute = calendar.component(.minute, from: date) //55
let sec = calendar.component(.second, from: date) //33
let weekDay = calendar.component(.weekday, from: date) //6 (Friday)
któryś z elementu dostępne API poniżej
public enum Component {
case era
case year
case month
case day
case hour
case minute
case second
case weekday
case weekdayOrdinal
case quarter
case weekOfMonth
case weekOfYear
case yearForWeekOfYear
case nanosecond
case calendar
case timeZone
}
Swift 2:
let currentHour = NSCalendar.currentCalendar().component(.Hour, fromDate: NSDate())
To może być wystarczająco:
let currentDate = NSDate() // You can input the custom as well
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute, fromDate: currentDate)
let currentHour = components.hour // You can play around with the ""components""
Jeśli chcesz aktualną godzinę w ciągu, to jest tak krótki i czytelny mogłem myśleć.
let formatter = NSDateFormatter()
formatter.dateFormat = "HH"
let timeString = formatter.stringFromDate(NSDate())
Rozumiem twój kod, ale mimo wszystko potrzebowałbym liczby całkowitej zamiast łańcucha, ale dziękuję bardzo za pomoc, wierzę, że ten kod może być bardzo przydatny. –
Najlepsze dzięki to głosowanie w górę :) – Binarian
W końcu udało mi się znaleźć najprostszy rozwiązanie po walczą o czasie
let dateComponents = NSCalendar.currentCalendar().components(NSCalendarUnit.HourCalendarUnit, fromDate: NSDate())
let nHourOfDay = dateComponents.hour
czy mógłbyś usunąć "NSCalendarUnit"? Jestem z dala od mojego Maca i nie mogę go przetestować. –
@JeanLeMoignan Tak, możesz. Testowałem to. – Ben
Swift 3,0
let hour = Calendar.current.component(.hour, from: Date())
Lub, jeśli jesteś zainteresowany formatem daty 12 hour AM/PM
, następnie użyj NSDateFormatter
let formatter = DateFormatter()
formatter.dateFormat = "hh a" // "a" prints "pm" or "am"
let hourString = formatter.string(from: Date()) // "12 AM"
Jeśli chcesz minuty, sekundy i innych, wykonaj następujące
let date = Date() // save date, so all components use the same date
let calendar = Calendar.current // or e.g. Calendar(identifier: .persian)
let hour = calendar.component(.hour, from: date)
let minute = calendar.component(.minute, from: date)
let second = calendar.component(.second, from: date)
Check out dostępnych komponentów na Apple docs:
.era, .year, .month, .day, .hour, .minute, .second,
.weekday, .weekdayOrdinal, .quarter, weekOfMonth, .weekOfYear,
.yearForWeekOfYear, .nanosecond, .calendar, .timezone
Swift 2.0
let hour = NSCalendar.currentCalendar().component(.Hour, fromDate: NSDate())
Swift 1,0
let hour = NSCalendar.currentCalendar().component(.CalendarUnitHour, fromDate: NSDate())
Z Swift 2: 'let hour = NSCalendar.currentCalendar(). Component (.Hour, fromDate: NSDate())' –
miło jest zobaczyć, jak Swift poprawia się z czasem. Wersja Swift 3.0 jest o wiele łatwiejsza do odczytania, że Swift 1.0 jeden – Kasztan
Chcesz użyć "h a", a nie "hh a" Jeśli chcesz 19, a nie 07 pm – DoesData
Swift 2.0:
let hour = NSCalendar.currentCalendar().component(NSCalendarUnit.Hour, fromDate: NSDate())
można uzyskać wartość całkowitą bieżącej godziny w krok tak:
let currentHour = NSCalendar.currentCalendar().components(.Hour, fromDate: NSDate()).hour
Oto przykład odniesienia dla jak to zrobić (DateUtils.swift) -
Przykład Zastosowanie:
let today = DateUtils.getToday();
let hr = DateUtils.getHours(today);
let min = DateUtils.getMinutes(today);
... (etc.) ...
DateUtils.swift:
//Field wrapper routines
class func getToday() -> Date { return Date(); }
class func getHours(_ date : Date) -> Int { return Calendar.current.component(.hour, from: date); }
class func getMinutes(_ date : Date) -> Int { return Calendar.current.component(.minute, from: date); }
... (continued for all fields, see file) ...
- 1. Jak zmienić godziny i minuty bieżącego dnia w Swift?
- 2. Java8 java.time: jak zmienić dzień tygodnia i godzinę rozpoczęcia dnia?
- 3. Jak uzyskać datę i godzinę z serwera
- 4. Jak uzyskać godzinę, minuty i sekundy?
- 5. Jak uzyskać aktualną godzinę w systemie Android?
- 6. Jak uzyskać porę dnia w javascript/Node.js?
- 7. Jak uzyskać nazwę dnia od wybranej daty?
- 8. Jak uzyskać zlokalizowane nazwy dnia w django?
- 9. Jak uzyskać czas (godzinę, minutę, sekundę) w Swift 3 przy użyciu NSDate?
- 10. Zyskaj uprawnienia administracyjne dzięki aplikacji Swift dla komputerów Mac
- 11. Jak uzyskać ostatniego dnia poprzedniego miesiąca w JavaScript lub JQuery
- 12. Jak uzyskać datę i godzinę klienta w środowisku ASP.NET?
- 13. Jak uzyskać ostatnio dostępną datę i godzinę pliku w Go?
- 14. Jak uzyskać, aby JSON.NET przekształcił datę/godzinę do ISO 8601?
- 15. Jak uzyskać wykorzystanie pamięci w Swift
- 16. Uzyskaj nazwę dnia od dnia tygodnia int
- 17. Jak uzyskać nazwę dnia od daty z momentjs
- 18. jak uzyskać zapisy z poprzedniego dnia za pomocą tsql?
- 19. Jak uzyskać numer dnia tygodnia za pomocą Powershell?
- 20. Jodobime początek dnia i koniec dnia
- 21. Swift: Jak uzyskać ciąg przed określoną postacią?
- 22. Jak uzyskać płótno na placu zabaw Swift
- 23. Jak uzyskać wyliczenie wartości nieprzetworzonej w Swift?
- 24. Jak uzyskać matematyczną stałą PI w Swift
- 25. Jak uzyskać przedni aparat w Swift?
- 26. Jak uzyskać pełną nazwę Kontakty w Swift
- 27. Jak uzyskać sharedApplication w Swift na iOS?
- 28. Java prosty Datownik do dnia konwersji
- 29. jak dostać godzinę z datą formacie
- 30. 1.3M zapytań/godzinę. Jak skonstruowałbyś zapytania?
Dziękuje, ale IMHO ten kod jest do kompleksu, bo po prostu chcą uzyskać porze dnia –
Niestety, nie ciebie. co masz na myśli ** Chcę tylko godzinę dnia **? a także ** kod jest złożony **? –
@KumarKL jak dostać dzień w całości np. W piątek, sobotę itp? –