当前位置: 首页 > 面试题库 >

在Java中,如何使用系统的默认语言环境(语言)获取星期几的字符串(星期日,星期一,…,星期六)

左丘弘致
2023-03-14
问题内容

最简单的方法:

String[] namesOfDays = new String[7] {
    "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"
};

此方法不使用语言环境。因此,如果系统的语言不是英语,则此方法无法正常工作。

使用Joda时间,我们可以这样做:

String[] namesOfDays = new String[7];
LocalDate now = new LocalDate();

for (int i=0; i<7; i++) {
    /* DateTimeConstants.MONDAY = 1, TUESDAY = 2, ..., SUNDAY = 7 */
    namesOfDays[i] = now.withDayOfWeek((DateTimeConstants.SUNDAY + i - 1) % 7 + 1)
        .dayOfWeek().getAsShortText();
}

但是,此方法使用今天的日期和日历计算,这对于最终目的而言是无用的。另外,它有点复杂。

有一种简单的方法来获得字符串像"Sun""Mon"…,"Sat"用系统的默认语言环境?


问题答案:

如果我没有误会你

 calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.US);

是您要寻找的。在这里您可以找到文档,

或者您也可以使用getShortWeekdays()

String[] namesOfDays = DateFormatSymbols.getInstance().getShortWeekdays()


 类似资料:
  • 问题内容: 我想知道用户本地语言的星期几(星期一,星期二…)。例如,如果用户是法语,则为“ Lundi”,“ Mardi”等。 我已经阅读了这篇文章,但是它只返回一个int,而不是用用户语言显示的日期字符串:在Android中获取星期几的最简单方法是什么? 更一般而言,您如何获得以用户语言写的一周中的每一天和一年中的所有月份? 我认为这是可行的,例如Google议程提供了用用户本地语言写的日期和月

  • 问题内容: 如何获得当前一周的星期一和星期五的日期? 我有以下代码,但是如果当前日期是星期日或星期六,则它将失败。 问题答案: 这些strtotime输入效果很好: 您需要做的就是将逻辑包装在一些if语句中。

  • 问题内容: 如何获得给定星期几的第一天? 例如,当我写这篇文章时,我们在 WEEK 29。* 我想编写一个MySQL查询,它将使用 WEEKNO 29 作为唯一可用参数返回 7月18日星期日 。 * 问题答案: 您可以使用: 这将为您提供2010年第3周的星期一日期,即2010-01-18。 另一个例子: 请给您2010年第52周的星期日日期,即2010-12-26。 最后,使用原始示例: 这给出

  • 问题内容: 我有当前日期,还有一个常数,它指示星期几。我想基于该常数获取一周的开始日期。如果我将一周的第一天硬编码为星期一(或其他任何东西),那么这很简单。但是一周的第一天一直在变化。因此,我不想在每次更改第一天时都更改代码。 这是我尝试使用Java的Calendar的方法: 我想获取一周的开始日期。上面的函数返回星期的第一天,并且星期开始日期被硬编码为星期六。每当星期开始日期以上的要求发生变化时

  • 问题内容: 我已经实现了一种获取当前星期中星期一的日期的方法,并且已经将星期一指定为星期的第一天。 但是,无论我做什么,它都会返回2013年3月24日格林尼治标准时间。我看不到这里的问题。有人能帮忙吗? 问题答案: 试试这个 :

  • 问题内容: 因此,对于一个开始日期和结束日期,我想确定在这两个日期之间发生的一周中的特定天数。 那么多少个星期一,星期二等 我知道我可以在“开始日期”和“结束日期”之间循环并每天检查一次,但是可能相差很多天。我更喜欢不需要循环的东西。有任何想法吗?(必须在SQL Server2005+中受支持) 问题答案: 鉴于我 认为 您正在尝试获得的结果,应该这样做: