Wie erhalten Sie Stunden und Minuten seit Date.getHours
und Date.getMinutes
wurde veraltet? Die Beispiele, die ich in der Google-Suche gefunden habe, verwendeten die veralteten Methoden.Java: getMinutes und getHours
Antwort
Von der Javadoc für Date.getHours
As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY)
So
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR_OF_DAY);
und das Äquivalent für getMinutes verwenden.
Zunächst importieren java.util.Calendar
Calendar now = Calendar.getInstance();
System.out.println(now.get(Calendar.HOUR_OF_DAY) + ":" + now.get(Calendar.MINUTE));
Calender Versuchen. Verwenden Sie getInstance, um ein Kalender-Objekt zu erhalten. Verwenden Sie dann setTime, um das erforderliche Datum festzulegen. Jetzt können Sie get (int-Feld) mit der entsprechenden Konstante wie HOUR_OF_DAY oder so verwenden, um die von Ihnen benötigten Werte zu lesen.
http://java.sun.com/javase/6/docs/api/java/util/Calendar.html
Ich würde empfehlen, ad joda Zeit suchen.
Ich hatte Angst, eine weitere Bibliothek zu meinem dicken Projekt hinzuzufügen, aber es ist einfach und schnell und schlau und genial. Außerdem spielt es in gewisser Weise gut mit dem vorhandenen Code.
Verwenden Sie Joda Time anstelle von standard java.util.Date-Klassen. Joda Time-Bibliothek hat viel bessere API für die Behandlung von Daten.
DateTime dt = new DateTime(); // current time
int month = dt.getMonth(); // gets the current month
int hours = dt.getHourOfDay(); // gets hour of day
diese question für Vor-und Nachteile der gesamt Joda Zeitbibliothek.
Joda Time kann auch in einer zukünftigen Version von Java als Standardkomponente enthalten sein, siehe JSR-310.
Wenn Sie traditionelle java.util.Date und java.util.Calendar Klassen verwenden müssen, überzeugen Sie Hilfe, um ihre JavaDoc des (java.util.Calendar und java.util.Date).
Sie können die traditionellen Klassen wie diese verwenden, um Felder aus der angegebenen Date-Instanz abzurufen.
Date date = new Date(); // given date
Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
calendar.setTime(date); // assigns calendar to given date
calendar.get(Calendar.HOUR_OF_DAY); // gets hour in 24h format
calendar.get(Calendar.HOUR); // gets hour in 12h format
calendar.get(Calendar.MONTH); // gets month number, NOTE this is zero based!
Während ich würde nicht so tun empfehlen, ich denke, dass es sich lohnt, darauf hingewiesen, dass, obwohl viele Methoden auf java.util.Date veraltet sind, sie funktionieren immer noch. In trivialen Situationen kann es in Ordnung sein, sie zu verwenden. Außerdem ist java.util.Calendar ziemlich langsam, daher können getMonth und getYear on Date möglicherweise schneller sein.
import java.util.*
Mit der Kalender- und Formatierungsklasse können Sie gethour und minute gehen. wie 10:12
java Calendar cal = Calendar.getInstance()
und Formatter fmt=new Formatter()
und ein Format für die Anzeige Stunde und Minute fmt.format("%tl:%M",cal,cal)
und Druck System.out.println(fmt)
Ausgabe zeigt gesetzt.Zeit
Während ich ein Fan von Joda-Time bin, stellt Java 8 das java.time Paket vor, das schließlich eine lohnende Java-Standardlösung ist! Lesen Sie diesen Artikel, Java SE 8 Date and Time, für eine gute Menge an Informationen über java.time außerhalb von Stunden und Minuten.
Insbesondere sehen Sie sich die LocalDateTime
Klasse.
Stunden und Minuten:
LocalDateTime.now().getHour();
LocalDateTime.now().getMinute();
Dies ist die beste Antwort. Sie können eine explizite Zeitzone angeben, um den Leser und sich selbst daran zu erinnern, dass dies eine zeitzonensensitive Operation ist: 'LocalDateTime.now (ZoneId.of (" Asia/Manilla "))'. Lesen Sie 'now()' nur einmal aus Gründen der Konsistenz (die Zeit wird zwischen den beiden Aufrufen liegen). Wenn das Datum wirklich irrelevant ist, funktioniert 'LocalTime' ebenfalls. –
int hr=Time.valueOf(LocalTime.now()).getHours();
int minutes=Time.valueOf(LocalTime.now()).getMinutes();
Diese Funktionen int-Werte in Stunden und Minuten zurück.
Duplizieren. Dieser Ansatz wurde bereits in der [Antwort von J.D.] (http://stackoverflow.com/a/29270120/642706) behandelt. –
Ist das 'java.sql.Time'? Sicherlich kein Grund, diese veraltete Klasse ins Spiel zu bringen, wenn Sie 'java.time.LocalTime' haben. Du bist überkompliziert. –
public static LocalTime time() {
LocalTime ldt = java.time.LocalTime.now();
ldt = ldt.truncatedTo(ChronoUnit.MINUTES);
System.out.println(ldt);
return ldt;
}
Dies funktioniert für mich
Elegant. Vielleicht möchten Sie erklären, warum es funktioniert. –
- 1. Javascript Date: Stellen Sie sicher, getMinutes(), getHours(), getSeconds() setzt 0 bei Bedarf
- 2. Javascript - .getHours() funktioniert nicht
- 3. Javascript .getHours() funktioniert nicht richtig
- 4. getHours() mit Zeitformat 2016-04-29T19: 00: 00
- 5. Java einfache Timestamp to Date Umwandlung
- 6. Ändern der 1-24 Stunde zu 1-12 Stunde für die "getHours()" Methode
- 7. Formatieren von Zahlen zur Armeezeit (Big Java Ex. 4.15)
- 8. Gesamt Sekunden seit Mitternacht, Java
- 9. Unterschied zwischen Java und Java
- 10. Java SE eingebettet und Java ME
- 11. Java und AppStore-Empfangsprüfung
- 12. Java (J2SE) und Bluetooth
- 13. Java: Instanceof und Generics
- 14. Java und MSMQ
- 15. Java Generics und Zahlen
- 16. Java Vorlage und Container
- 17. JAVA_HOME und java -version
- 18. WCF und Java
- 19. Dijkstra und FileInput. Java
- 20. Java-Paketnamen und Konflikte
- 21. Java und Fingerabdruckerkennung
- 22. Java Classloader und Laufzeitkompilierung
- 23. Java-Serialisierung und Vererbung
- 24. Java: Schriftarten und Pixel
- 25. Java Kalender und Datumsformat
- 26. phpMyAdmin und Java
- 27. Rdf und java gui
- 28. Java und jtextfield Wert
- 29. Java Arraylist und Map
- 30. Java Classloader und Speicherverwaltung
So ... wie funktioniert das, wenn ich die Stunden von einem Datum zu bekommen, die bis jetzt nicht entsprechen? – Michael
Siehe http://stackoverflow.com/questions/8150155/java-gethours-getminutes-and-getseconds – Mark