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

从星期几中获取乔达时间的日期名称

刘琨
2023-03-14
问题内容

我有 星期几 :2(如果星期从星期一开始,则应该与星期二匹配)。

从这个数字中可以找到使用Joda Time在Java中的一天的名称吗?在javascript中,使用moment.js相当容易:

moment().day(my number)

问题答案:

至少这是可行的,尽管我认为它不太好:

LocalDate date = new LocalDate();
date = date.withDayOfWeek(2);
System.out.println(DateTimeFormat.forPattern("EEEE").print(date));

不幸的是,Joda-Time不提供星期几的枚举(java.time提供)。我还没有在庞大的api中快速找到另一种方法。也许一些乔达专家知道更好的解决方案。

添加(感谢@BasilBourque):

LocalDate date = new LocalDate();
date = date.withDayOfWeek(2);
System.out.println(date.dayOfWeek().getAsText());

java.time

在java.time(JSR 310,Java
8和更高版本)中,使用enum。DayOfWeek


int day = 2;
System.out.println( DayOfWeek.of(2).getDisplayName(TextStyle.FULL, Locale.ENGLISH) );
// Output: Tuesday

您可以直接使用特定的枚举实例,而不能使用像这样的幻数2。该DayOfWeek枚举为一周的每一天如一个实例DayOfWeek.TUESDAY

System.out.println( DayOfWeek.TUESDAY.getDisplayName(TextStyle.FULL, Locale.ENGLISH) );
// Output: Tuesday

旧的JDK

为了完善它,这里是旧JDK的解决方案:

int day = 2;
DateFormatSymbols dfs = DateFormatSymbols.getInstance(Locale.ENGLISH);
System.out.println(dfs.getWeekdays()[day % 7 + 1]);


 类似资料:
  • 问题内容: 我有两个LocalDate,它们代表某个时间间隔。现在,我必须获取此间隔包含的所有星期五的LocalDates。最简单的方法吗? 问题答案: 解决方案:懒惰地走一个星期。 测试

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

  • 问题内容: 无论如何,是否可以验证给定日期(yyyy-MM- dd)是否为有效日期?它也应该处理leap年。例如(2015-02-29)应该无效。我将日期作为字符串检索,并将其放入joda DateTime对象。 问题答案: 我认为,这应该对您有用(如果您想保持简单)。 你必须做一个。

  • 问题内容: 如何从Python中的日期时间对象获取日期名称(例如星期一,星期二,星期三,星期四,星期五,星期六和星期日)? 因此,例如,应该给我。 问题答案: 有关datetime.now,datetime.strftime以及有关strftime的更多信息,请参见Python文档。

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

  • 本文向大家介绍asp中获取日期为星期几的方法,包括了asp中获取日期为星期几的方法的使用技巧和注意事项,需要的朋友参考一下 测试代码如下,请使用IE运行本示例 WEEKDAY 用途:返回某日期的星期数。在默认情况下,它的值为1(星期天)到7(星期六)之间的一个整数。 Weekday是Visual Basic和VBS中的一个函数,功能返回代表一星期中某天的整数。 语法 参数 Weekday 函数的语