In Java, voglio stampare solo l'ora del giorno in ore e minuti e voglio che passi correttamente tra, ad esempio "13:00" e "1:00 PM" in base alle impostazioni locali. Come faccio a fare questo?Come scoprire se un locale utilizza 12 o 24 ore in Java?
risposta
Le impostazioni internazionali non specificano esplicitamente se i formati di orario sono 12 o 24 ore e preferito Piuttosto, i formati delle date specifici delle impostazioni locali sono gestiti dalle impostazioni internazionali che definiscono direttamente i formati.
Se si desidera semplicemente utilizzare il formato ora "locale preferito", basta chiamare uno dei tre
DateFormat.getTimeInstance(...)
metodi statici, e l'uso qualunqueDateFormat
restituisce.Se si dispone di un'istanza
SimpleDateFormat
nelle vostre mani, si potrebbe (se erano pronti a fare una notevole quantità di codifica) chiamaretoPattern()
e analizzare il modello risultante per vedere se ha usato un 12 o 24 date ore .. o nessuno dei due. Potresti anche modificare il pattern per utilizzare il modulo "altro" e quindi chiamareapplyPattern(String)
per modificare il formato.
Utilizzare la classe java.text.DateFormat per creare l'output corretto del tempo specificato.
partire dalla API:
Per formattare una data per la locale corrente, utilizzare uno dei metodi factory statici:
myString = DateFormat.getDateInstance().format(myDate);
è sufficiente utilizzare il metodo getTimeInstance()
e chiamare il Metodo format()
nell'oggetto DateFormat restituito
Ho scritto piccola funzione che rileva se locale corrente utilizza 24 o 12 ore:
public static boolean is24HourLocale() {
String output = SimpleDateFormat.getTimeInstance(DateFormat.SHORT).format(new Date());
if (output.contains(" AM") || output.contains(" PM")) {
return false;
} else {
return true;
}
}
Questo non funziona se si dispone di un'impostazione internazionale predefinita diversa, per cui i marcatori AM/PM sono diversi. –
- 1. Converti 12 ore in 24 ore
- 2. Rileva se il formato dell'ora è nel formato 12 ore o 24 ore
- 3. Rileva con javascript se la macchina dell'utente utilizza 12 ore (am/pm) o 24 ore (ora militare)
- 4. Rileva se iPhone sta visualizzando l'ora in modalità 12 ore o 24 ore?
- 5. Ora in NSDateComponent in formato 12 o 24 ore?
- 6. php formato 12 ore in formato 24 ore conversione
- 7. Regex per 12 ore e il tempo 24 ore formato
- 8. Formato da 24 ore a formato 12 ore
- 9. Come determinare se cultura/locale correnti utilizzano am/pm o 24 ore?
- 10. Come posso convertire l'ora da 24 a 12 ore?
- 11. come convertire il formato di 24 ore TimeSpan in formato 12 ore TimeSpan?
- 12. Come si converte tra 12 ore e 24 ore in PHP?
- 13. NSDateFormatter in modalità 12 ore
- 14. SimpleDateFormat restituisce la data di 24 ore: come ottenere la data di 12 ore?
- 15. CultureInfo e DateTimeInfo: come verificare se è 24 ore?
- 16. Come convertire un tempo di 24 ore per 12 ore in VB.net come hh: mm AM/PM
- 17. Convert 24 tempo ore a 12 ore più AM indicazione/PM Oracle SQL
- 18. Modifica da 1-24 ore a 1-12 ore per il metodo "getHours()"
- 19. Conversione di un formato in formato 12 ore in SQL
- 20. Ottieni solo l'ora del giorno da DateTime utilizzando il formato 12 o 24 ore come definito dalla cultura corrente
- 21. Rileva impostazione ora 24 ore su iPhone
- 22. PHP DateTime(): visualizza un intervallo di tempo maggiore di 24 ore ma non di giorni se maggiore di 24 ore
- 23. Conversione formato datetime di 12 ore
- 24. Come rappresentare un formato .NET DateTime di 24 ore in 01-24 anziché in 00-23?
- 25. Verifica se una data è esattamente uguale o superiore a 24 ore dopo l'altra
- 26. Tempo di 24 ore rigoroso in JFormattedTextField
- 27. Come visualizzare l'ora nel formato 12 ore in Objective-C?
- 28. Ora da DateTime? in formato 24 ore
- 29. Rails 12 ore AM/PM range per un giorno
- 30. php stringa in un formato della data, aggiungere 12 ore
Grazie mille! Dato che voglio davvero stamparlo 'DateFormat.getTimeInstance (DateFormat.SHORT, someLocale)' ha fatto il trucco per me. Certamente non vedo l'ora di una situazione in cui ho bisogno di sapere in realtà quale formato temporale è usato: p. – kolizz