我可以获得本地化的短周日名称(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