È possibile ottenere il nome breve giorno-in-settimana localizzato (lunedì/giorno/giorno/giorno/notte/Su per l'inglese) in Java?Come ottenere il nome giorno-in-settimana breve localizzato (lunedì/giovedì/giovedì ...)
risposta
Il modo migliore è con java.text.DateFormatSymbols
DateFormatSymbols symbols = new DateFormatSymbols(new Locale("it"));
// for the current Locale :
// DateFormatSymbols symbols = new DateFormatSymbols();
String[] dayNames = symbols.getShortWeekdays();
for (String s : dayNames) {
System.out.print(s + " ");
}
// output : dom lun mar mer gio ven sab
Non è possibile farlo con la classe Calendario (a meno che non si scriva da solo), ma è possibile con la classe Date. (I due sono solitamente usati mano nella mano).
Ecco un esempio:
import java.util.Date;
public class DateFormatExample {
public static void main(String[] args) {
Calendar nowCal = Calendar.getInstance(); // a Calendar date
Date now = new Date(nowCal.getTimeInMillis()); // convert to Date
System.out.printf("localized month name: %tB/%TB\n", now, now);
System.out.printf("localized, abbreviated month: %tb/%Tb\n", now, now);
System.out.printf("localized day name: %tA/%TA\n", now, now);
System.out.printf("localized, abbreviated day: %ta/%Ta\n", now, now);
}
}
uscita:
localized month name: June/JUNE
localized, abbreviated month: Jun/JUN
localized day name: Friday/FRIDAY
localized, abbreviated day: Fri/FRI
un esempio utilizzando SimpleDateFormat:
Date now = new Date();
// EEE gives short day names, EEEE would be full length.
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE", Locale.US);
String asWeek = dateFormat.format(now);
012.
SimpleDateFormat come se fosse più lungo rispetto allo stile C String.format e System.out.printf, e penso che si potrebbe trovare la maggior parte degli sviluppatori Java sarebbe più familiare con esso e più in uso in basi di codice esistenti, quindi I ' d raccomandare questo approccio.
Non è questa la migliore risposta? –
Se abbreviazioni standard vanno bene con voi, basta usare classe Calendar in questo modo:
myCal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.US);
+1 per un modo standardizzato per ottenere questo risultato! : D – Cold
Questo è il modo giusto per ottenerlo. – duanbo1983
Internally Calendar chiama comunque DateFormatSymbols.getShortWeekdays. –
//you need to use joda library
List<String> dayList = new ArrayList<String>();
String[] days = new String[7];
int a=2;
//a =starting day of week 1=sunday ,2=monday
Calendar c2 = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
c2.set((Calendar.DAY_OF_WEEK),a);
int maxDay = c2.getActualMaximum(Calendar.DAY_OF_WEEK);
for(int i=0;i<maxDay;i++)
{
days[i] = df.format(c2.getTime());
c2.add(Calendar.DAY_OF_MONTH, 1);
String dayOfWeek = new LocalDate(days[i]).dayOfWeek().getAsShortText();
dayList.add(dayOfWeek);
}
for(int i=0;i<maxDay;i++)
{
System.out.print(" '"+dayList.get(i)+"'");
}
E 'abbastanza tardi per rispondere a questa domanda, ma volevo solo per aggiornare la risposta con Java 8.
ZoneId zoneId = ZoneId.of("America/Los_Angeles");
Instant instant = Instant.now();
ZonedDateTime zDateTime = ZonedDateTime.ofInstant(instant, zoneId);
DayOfWeek day = zDateTime.getDayOfWeek();
System.out.println(day.getDisplayName(TextStyle.SHORT, Locale.US));
System.out.println(day.getDisplayName(TextStyle.NARROW, Locale.US));
- 1. come ottenere il nome breve TimeZoneInfo
- 2. Come ottenere CFBundleDisplayName localizzato
- 3. Funzione per ottenere il percorso localizzato?
- 4. Come ottenere sia il codice valuta che il nome visualizzato localizzato in iOS?
- 5. Ottenere localizzato giorno della settimana
- 6. Come ottenere il nome del file breve di Windows in python?
- 7. Come utilizzare un "formato breve" localizzato durante la formattazione delle date in Django?
- 8. Come ottenere localizzato Annulla, Fatto e così via?
- 9. Come ottenere un URL lungo dall'URL breve?
- 10. Visualizza nome fuso orario breve utilizzando DateTimeFormatter
- 11. Ottenere il nome parametro
- 12. Dovremmo utilizzare il nome lungo o il nome breve nella codifica JavaScript?
- 13. "nome breve" per le app iOS possibile?
- 14. Estensione del nome file strip (più breve) da CMake (ottenere il nome file che rimuove l'ultima estensione)
- 15. Ottenere la stringa dell'intervallo di date localizzato da due NSD
- 16. (Django) come ottenere il nome del mese?
- 17. come ottenere il nome della tabella Magento
- 18. android, come ottenere il nome del pacchetto?
- 19. Come ottenere il nome dell'applicazione in Android?
- 20. Come ottenere il nome della colonna datatable?
- 21. Come ottenere il nome del tag precedente?
- 22. Come ottenere il nome del paese
- 23. Come ottenere il nome dell'applicazione in laravel?
- 24. Come ottenere il nome di System.Xml.Linq.XNode?
- 25. Come posso ottenere il nome dell'immagine dall'URL?
- 26. Come ottenere il nome completo del tipo?
- 27. Come ottenere il nome di una funzione?
- 28. Come ottenere il nome della funzione corrente?
- 29. Come ottenere il nome della costante?
- 30. ottenere breve sha di impegnarsi con gitpython
Attenzione che l'array dayNames conterrà 8 elementi, il primo essendo una stringa vuota, quindi la matrice può essere indicizzata direttamente con un numero di giorno dove domenica è 1 e sabato è 7. – RenniePet
grazie per quel commento @ RenniePet-i era estremamente confuso ... – jacoballenwood