Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按数字获取当天的名称_Java_Formula - Fatal编程技术网

Java 按数字获取当天的名称

Java 按数字获取当天的名称,java,formula,Java,Formula,这可能是一个非常独特的问题,因为我在谷歌上搜索了一段时间&找不到解决方案。这也很有趣 基本上我需要的是一个数字,你可以通过它得到日期的名称 例如,我们的数字是7,我们需要通过一个公式来找出它的日期名称,但是对于7,它是基本的,您所做的只是在switch语句中得到“saturday” 基本上,获取名称很简单,您只需执行以下操作: switch (dayNumber) { case 1: return "Sunday"; etc... 但我想我的问题相当复杂,我不确定逻辑上是否有可能的解决

这可能是一个非常独特的问题,因为我在谷歌上搜索了一段时间&找不到解决方案。这也很有趣

基本上我需要的是一个数字,你可以通过它得到日期的名称

例如,我们的数字是7,我们需要通过一个公式来找出它的日期名称,但是对于7,它是基本的,您所做的只是在switch语句中得到“saturday”

基本上,获取名称很简单,您只需执行以下操作:

switch (dayNumber) {
    case 1: return "Sunday"; etc...
但我想我的问题相当复杂,我不确定逻辑上是否有可能的解决办法

我想通过数字得到本周的索引号

示例:

  • 第7天-索引:7
  • 第16天-指数:2(因为你计算前两周7+7=14,然后+2=16,所以这一天是星期一
  • 第24天-索引:3
为什么我需要这个:

最近我在一门java课程中遇到了一个问题,与此无关,但它与月日循环有关,因此我想发挥创意&甚至可以使用数学函数和公式快速获得具体日期的名称

因此,关于如何获取名称的示例:

for (int i = 1; i <= 31; i++) {
    System.out.println(getDayByInteger(i));
}

public static String getDayByInteger(int day) {
        int dayNumber = 0; //TODO Formula..
        switch (dayNumber) {
            case 1:
                return "Sunday";
            case 2:
                return "Monday";
            case 3:
                return "Tuesday";
            case 4:
                return "Wednesday";
            case 5:
                return "Thursday";
            case 6:
                return "Friday";
            case 7:
                return "Saturday";
            default: return "N/A";
        }
    }

对于(int i=1;i您只需使用modulu并编辑您的案例:

    switch (dayNumber%7) {
        case 1:
            return "Sunday";
        case 2:
            return "Monday";
        case 3:
            return "Tuesday";
        case 4:
            return "Wednesday";
        case 5:
            return "Thursday";
        case 6:
            return "Friday";
        case 0:                     //change case 7 to case 0
            return "Saturday";
        default: return "N/A";
    }

您只需使用modulu并编辑您的案例:

    switch (dayNumber%7) {
        case 1:
            return "Sunday";
        case 2:
            return "Monday";
        case 3:
            return "Tuesday";
        case 4:
            return "Wednesday";
        case 5:
            return "Thursday";
        case 6:
            return "Friday";
        case 0:                     //change case 7 to case 0
            return "Saturday";
        default: return "N/A";
    }

您可以为此使用提醒运算符
%

public static String getDayByInteger(int day) {
    int dayNumber = (day % 7) + 1; 
    switch (dayNumber) {
        // case 1 to 7
    }
}

您可以为此使用提醒运算符
%

public static String getDayByInteger(int day) {
    int dayNumber = (day % 7) + 1; 
    switch (dayNumber) {
        // case 1 to 7
    }
}
试试这个:

public static String getDayByInteger(int day) {
    int dayNumber = day % 7; //  Formula..
    switch (dayNumber) {
    case 0:
        return "Sunday";
    case 1:
        return "Monday";
    case 2:
        return "Tuesday";
    case 3:
        return "Wednesday";
    case 4:
        return "Thursday";
    case 5:
        return "Friday";
    case 6:
        return "Saturday";
    default:
        return "N/A";
    }
}
试试这个:

public static String getDayByInteger(int day) {
    int dayNumber = day % 7; //  Formula..
    switch (dayNumber) {
    case 0:
        return "Sunday";
    case 1:
        return "Monday";
    case 2:
        return "Tuesday";
    case 3:
        return "Wednesday";
    case 4:
        return "Thursday";
    case 5:
        return "Friday";
    case 6:
        return "Saturday";
    default:
        return "N/A";
    }
}

不清楚您真正想要的是什么,如果您希望计算某个特定日期的星期几,您可以检查以下内容:

不清楚您真正想要的是什么,如果您希望计算某个特定日期的星期几,您可以检查以下内容:

tl;dr 该方法将一天的名称翻译成由指定的任何人类语言,例如或

伦迪

此类枚举的目的是使用这些对象而不是整数。与其只传递整数,不如传递对象,例如。这使您的代码更加自我记录,确保有效值的范围,并提供

java.time 该框架内置于Java 8及更高版本中。这些类取代了旧的麻烦的日期时间类,如
Java.util.date
.Calendar
,&
Java.text.SimpleDateFormat

该项目现已启动,建议迁移到java.time

要了解更多信息,请参阅.和搜索堆栈溢出以获取许多示例和说明

大部分java.time功能都在中向后移植到java 6和7,并进一步适应于中

该项目使用其他类扩展了java.time。该项目是将来可能添加到java.time的试验场。您可以在这里找到一些有用的类,如
Interval
YearWeek
YearQuarter
,等等

一周的第一天 如果必须将星期日计算为一周的第一天,请调整以获得ISO 8601值

通过从您的代码号中减去一,我们得到周一到周五的1-5。这正是我们想要的ISO 8601编号。但是周六我们得到-1,周日我们得到0。我利用这一事实,将负1或0添加到7,以获得所需的周六ISO编号6和周日ISO编号7。这可能是一种更简洁的方法虽然如此,但根据我有限的测试,这种方法是成功的

int yourDayNumber = 8;  // 1 = Sunday, 2 = Monday, … , 8 = Sunday, 9 = Monday, etc.

int modResult = ( yourDayNumber % 7 );
int isoNumber = ( modResult - 1 );
if ( isoNumber < 1 ) {
    isoNumber = ( 7 + isoNumber );
} else { // Else modResult is 1-5
    // No code needed here.
}
太长,读不下去了 该方法将一天的名称翻译成由指定的任何人类语言,例如或

伦迪

此类枚举的目的是使用这些对象而不是整数。与其只传递整数,不如传递对象,例如。这使您的代码更加自我记录,确保有效值的范围,并提供

java.time 该框架内置于Java 8及更高版本中。这些类取代了旧的麻烦的日期时间类,如
Java.util.date
.Calendar
,&
Java.text.SimpleDateFormat

该项目现已启动,建议迁移到java.time

要了解更多信息,请参阅.和搜索堆栈溢出以获取许多示例和说明

大部分java.time功能都在中向后移植到java 6和7,并进一步适应于中

该项目使用其他类扩展了java.time。该项目是将来可能添加到java.time的试验场。您可以在这里找到一些有用的类,如
Interval
YearWeek
YearQuarter
,等等

一周的第一天 如果必须将星期日计算为一周的第一天,请调整以获得ISO 8601值

通过从您的代码号中减去一,我们得到周一到周五的1-5。这正是我们想要的ISO 8601编号。但是周六我们得到-1,周日我们得到0。我利用这一事实,将负1或0添加到7,以获得所需的周六ISO编号6和周日ISO编号7。这可能是一种更简洁的方法虽然如此,但根据我有限的测试,这种方法是成功的

int yourDayNumber = 8;  // 1 = Sunday, 2 = Monday, … , 8 = Sunday, 9 = Monday, etc.

int modResult = ( yourDayNumber % 7 );
int isoNumber = ( modResult - 1 );
if ( isoNumber < 1 ) {
    isoNumber = ( 7 + isoNumber );
} else { // Else modResult is 1-5
    // No code needed here.
}

很难理解您的问题,但您似乎在寻找余数
%
运算符。不太清楚输入的数字是什么。听起来您可能只需要
第%7天
(然后索引到数组中,而不是使用开关/大小写)就可以逃脱了但是您的要求不清楚。您的问题很难理解,但您似乎在寻找余数
%
运算符。输入的数字究竟是什么并不清楚。听起来您可能只需要
第7天
(然后索引到数组中,而不是使用switch/case>)但是您的要求不清楚。请看
dayNumber%7
何时给出7的结果?@Jon Skeet:现在好多了?等等,有个问题,它永远不会给出7的结果。@kai:是的,尽管我仍然不会使用开关st