我可以獲得本地化的短週日名稱(Mo/Tu/We/Th/Fr/Sa/Su for English)在Java中?如何獲得本地化的短週日名稱(Mo/Tu/We/Th ...)
回答
的最好方法是使用的SimpleDateFormat 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
你不能使用Calendar類(除非你自己寫),但你可以使用Date類。 (這兩者通常是手牽手使用的)。
下面是一個例子:
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);
}
}
輸出:
localized month name: June/JUNE
localized, abbreviated month: Jun/JUN
localized day name: Friday/FRIDAY
localized, abbreviated day: Fri/FRI
一個例子:
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);
SimpleDateFormat比C風格的String.format和System.out.printf長,我想你會發現大多數Java開發人員會更熟悉它,並且在現有的代碼庫中使用的更多, d建議這種方法。
這不是最好的答案嗎? – 2017-01-25 21:44:08
如果標準縮寫是細跟你,只使用Calendar類是這樣的:
myCal.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.US);
+1以獲得此結果的標準化方式! :D – Cold 2014-03-13 18:15:08
這是獲得它的體面方式。 – duanbo1983 2015-01-14 00:23:10
內部日曆無論如何調用DateFormatSymbols.getShortWeekdays。 – 2015-09-06 09:00:49
//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)+"'");
}
這是相當晚來回答這個問題,但只是想與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. 如何在Delphi中獲取本地化的日期名稱?
- 2. 如何獲得本週的日子?
- 3. 如何獲得TimeZoneInfo短名
- 4. 如何獲得YEARWEEK()將週日視爲本週的開始?
- 5. 我如何獲得本週的週一?
- 6. 如何在任何給定的日期在本週獲得週末日?
- 7. 如何獲得'特殊'windows文件夾的本地化名稱(回收站等)?
- 8. 如何獲得Windows應用商店應用的本地化顯示名稱
- 9. 的Symfony,如何獲得本地化的日期
- 10. 如何獲得本地化的CFBundleDisplayName
- 11. 從jquery ui calendar獲取週日名稱
- 12. 如何在喬達時間獲得簡短的月份名稱?
- 13. 如何獲得特定於文化的短日期字符串?
- 14. 本地化語言名稱
- 15. 本地化System.Windows.Media.Color名稱
- 16. 本地化Google MapType名稱
- 17. 如何NSException獲得本地化NSLocalizedDescription
- 18. 如何從本地化獲得價值?
- 19. 如何獲得本週的一天的日期
- 20. 使用Powershell如何獲得週日數?
- 21. 如何獲得下週日期在JavaScript
- 22. 如何獲得本地計算機的計算機名稱和IP地址
- 23. 如何將日期格式化爲本地化短日月字符串
- 24. 將日期轉換爲日期名稱週一,週二,週三
- 25. 如何從vim中的long選項名獲得短期期權名稱
- 26. 本地化的核心數據名稱
- 27. 如何以編程方式構建本地化日曆月份名稱的NSArray?
- 28. 如何獲得執行.exe的名稱?
- 29. 如何獲得約束的名稱?
- 30. 如何獲得網頁名稱的wordpress
請注意,dayNames數組將包含8個元素,第一個作爲一個空字符串,所以數組可以直接索引與星期日爲1和星期六爲7的日期編號。 – RenniePet 2013-08-17 19:16:09
謝謝你的評論@ RenniePet-我非常困惑... – jacoballenwood 2018-02-16 22:52:06