如何获得某个地区/国家/地区的第一天

时间:2023-02-10
本文介绍了如何获得某个地区/国家/地区的第一天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我需要获取某个区域/国家/地区的一周的第一天.

I need to get the first day of week for a certain Locale / Country.

我尝试使用以下代码找到它:

I tried to find it using this code:

final Locale[] locales = new Locale[]{
        new Locale("en_GB"),
        new Locale("ru_RU"),
        new Locale("en_US"),                
        new Locale("es_ES"),
        new Locale("fr_FR"),        
        new Locale("iw_IL"),
        new Locale("he_IL")
};

for (final Locale locale : locales) {
    final Calendar cal = Calendar.getInstance(locale);
    final int firstDayOfWeek = cal.getFirstDayOfWeek();
    System.out.println(firstDayOfWeek);
}

这段代码的结果是,所有这些语言环境都在检索1",即星期日,而诸如 en_US 之类的语言环境应该返回 2,即星期一.

The result of this code is that all of these locales are retrieving '1' which is Sunday, and locales such en_US should return 2 which is Monday.

推荐答案

传入两个参数 - language &国家/地区,分开 - 而不是你的带下划线的字符串.请参阅 Oracle 教程.

Pass in two arguments –language & country, separately – rather than your string with underscore. See Oracle Tutorial.

final Locale[] locales = new Locale[]{
        new Locale("en", "GB"),  // Pass language code, then country code, separately.
        new Locale("ru", "RU"),
        new Locale("en", "US"),
        new Locale("es", "ES"),
        new Locale("fr", "FR"),
        new Locale("iw", "IL"),
        new Locale("he", "IL")
    };

然后我会使用 Java8 来获取一周的第一天:

And then I would use Java8 to get the first day of the week:

DayOfWeek firstDayOfWeek = WeekFields.of(locale).getFirstDayOfWeek();
System.out.println(firstDayOfWeek);

输出:

星期一

星期一

星期天

星期一

星期一

星期天

星期天

这篇关于如何获得某个地区/国家/地区的第一天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:Calendar.before(Object when),为什么是Object? 下一篇:如何使用 Java 日历忽略周末?

相关文章

最新文章