Heim >Java >JavaBase >So berechnen Sie den Tag des Jahres für ein bestimmtes Datum in Java

So berechnen Sie den Tag des Jahres für ein bestimmtes Datum in Java

尚
Original
2019-11-23 11:30:104043Durchsuche

So berechnen Sie den Tag des Jahres für ein bestimmtes Datum in Java

Java-Eingabedatumsberechnung ist der Tag des Jahres:

Idee

Verwenden Sie das Jahr, um zu unterscheiden, ob es sich um ein Schaltjahr oder ein gewöhnliches Jahr handelt Jahr, 28. Februar in einem gewöhnlichen Jahr, Februar hat 29 Tage in Schaltjahren

1, 3, 5, 7, 8, 10 und Dezember haben 31 Tage und die anderen Monate haben 30 Tage; 🎜>

Dann addieren Sie die Anzahl der Tage in jedem Monat. Beachten Sie, dass bei Eingabe von Dezember die Summe von November bis Januar addiert wird und die Anzahl der im Januar eingegebenen Tage addiert wird

Implementierungscode:

import java.util.Scanner;

/**
 * Created by xpf on 2018/6/22 :)
 * GitHub:xinpengfei520
 * Function:
 */
public class CalculateUtils {

    /*平年二月28天*/
    private static final int DAYS_28 = 28;
    /*闰年二月29天*/
    private static final int DAYS_29 = 29;
    /*除了31天的月份其他均为30天*/
    private static final int DAYS_30 = 30;
    /*1、3、5、7、8、10、12月份31天*/
    private static final int DAYS_31 = 31;

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Please input year:");
        int year = input.nextInt();
        System.out.println("Please input month:");
        int month = input.nextInt();
        System.out.println("Please input day:");
        int day = input.nextInt();

        int daysInYear = getDaysInYear(year, month, day);
        System.out.println("daysInYear:" + daysInYear);
    }

    /**
     * get days in this year
     *
     * @param year
     * @param month
     * @param day
     * @return
     */
    public static int getDaysInYear(int year, int month, int day) {
        int totalDays = 0;

        switch (month) {
            // 12 月份加的是11月份的天数,依次类推
            case 12:
                totalDays += DAYS_30;
            case 11:
                totalDays += DAYS_31;
            case 10:
                totalDays += DAYS_30;
            case 9:
                totalDays += DAYS_31;
            case 8:
                totalDays += DAYS_31;
            case 7:
                totalDays += DAYS_30;
            case 6:
                totalDays += DAYS_31;
            case 5:
                totalDays += DAYS_30;
            case 4:
                totalDays += DAYS_31;
            case 3:
                // 判断是否是闰年
                if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {
                    totalDays += DAYS_29;
                } else {
                    totalDays += DAYS_28;
                }
            case 2:
                totalDays += DAYS_31;
            case 1: // 如果是1月份就加上输入的天数
                totalDays += day;
        }

        return totalDays;
    }
}

Da nur die Anzahl der Tage im Februar und die eingegebene Tagesanzahl nicht festgelegt sind, ist die Anzahl der Tage in anderen Monaten festgelegt und die festgelegte Anzahl von Tagen kann daraus berechnet werden der eingegebene Monat, sodass wir ihn wie folgt berechnen können:

Die Anzahl der Tage im Februar + die eingegebene Anzahl der Tage + die berechnete feste Anzahl der Tage

Für weitere Java-Kenntnisse zahlen Sie bitte Beachten Sie das

Java Basic Tutorial

.

Das obige ist der detaillierte Inhalt vonSo berechnen Sie den Tag des Jahres für ein bestimmtes Datum in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn