Heim  >  Artikel  >  Java  >  Java-Programm zur Anzeige der Zeit durch Scrollen von Stunden und Monaten

Java-Programm zur Anzeige der Zeit durch Scrollen von Stunden und Monaten

王林
王林nach vorne
2023-08-25 21:49:181004Durchsuche

Java-Programm zur Anzeige der Zeit durch Scrollen von Stunden und Monaten

Die Glaubwürdigkeit einer effizienten Programmiersprache hängt von ihrer Fähigkeit ab, Datum und Uhrzeit zu verwalten. In der virtuellen Java-Umgebung erhalten wir einige integrierte Tools wie Datum, Uhrzeit und Kalender, um datums- und zeitbezogene Probleme zu lösen.

  • Java. Bis-Datum-Klasse – In Java gibt es viele Klassen, die diejenigen enthalten, die für das Programm sehr wichtig sind. Die Date-Klasse verarbeitet Datums- und Uhrzeitoperationen. Es handelt sich um Klassen mit klonbaren, serialisierbaren und vergleichbaren Schnittstellenfunktionen.

  • Aktuelles Datum und Uhrzeit extrahieren – Es gibt zwei Techniken, um das aktuelle Datum und die aktuelle Uhrzeit mit Java zu extrahieren.

    • Implementierung der Date-Klasse

    • Implementierung der Kalenderklasse

In der Methode der Datumsklasse betrachten wir zunächst eine Zeichenfolge, die ein Datum enthält. Auf diese Weise erhalten wir Datum und Uhrzeit als Ausgabe. Durch die Deklaration der Kalenderklasse erstellen wir eine Instanzklasse, um die aktuelle Zeit des Systems durch Aufrufen von getTime() abzurufen.

Im heutigen Artikel werden wir Java-Code erstellen, um die Zeit durch Scrollen von Stunden und Monaten anzuzeigen.

Algorithmus zur Zeitanzeige durch Scrollen von Stunden und Monaten

In diesem möglichen Algorithmus versuchen wir zu demonstrieren, wie man die Zeit anzeigt, indem man mit Java Stunden und Monate scrollt.

  • Schritt 1 – Beginnen Sie.

  • Schritt 2 – Deklarieren Sie die Funktion für jeden Tag des Jahres und Monats.

  • Schritt 3 – Anweisung, int total =0.

  • Schritt 4 – i

  • Schritt 5 – Mit isLeapYear(i) auf Schaltjahr prüfen, ob die Bedingung erfüllt ist?

  • Schritt 6 – Ansonsten ist int i= 1. und überprüfen Sie i

  • Schritt 7 – Wenn die fünfte Bedingung erfüllt ist;

  • Schritt 8 – Führen Sie eine i++-Iteration durch.

  • Schritt 9 – Wenn die siebte Bedingung erfüllt ist.

  • Schritt 10 – Dann total=total+getNumberOfDaysInMonth(year,i);.

  • Schritt 11 – Führen Sie eine i++-Iteration durch.

  • Schritt 12 – Wenn nicht, geben Sie den Gesamtbetrag zurück.

  • Schritt 13 – Kündigung.

Syntax zum Anzeigen der Zeit durch Scrollen von Stunden und Monaten

General Syntax:
public abstract void roll(int calendar_field, boolean up_down)

Using Date class:
package com.DataFlair.DateAndTime;
import java.util.Date;
public class CurrDateUsingDateClass{
   public static void main(String args[]) {
      Date date = new Date();
      System.out.println(date.toString());
   }
}
Using Calendar Class:
package com.DataFlair.DateAndTime;
import java.util.Calendar;
public class CurrDateUsingCalenderClass{
   public static void main(String args[]) {
      Calendar current = Calendar.getInstance();
      System.out.println(current.getTime());
   }
}

Oben haben wir die mögliche Syntax für das gegebene Problem erwähnt. Indem wir dieser Syntax folgen, werden wir ein Programm schreiben, um die Zeit durch Scrollen von Stunden und Monaten zu ermitteln.

Methode

  • Methode 1 – Java-Programm zur Anzeige der Zeit durch Scrollen von Stunden und Monaten

Java-Programm zum Anzeigen der Zeit durch Scrollen von Stunden und Monaten

In diesen Java-Build-Codes versuchen wir zu erklären, wie man den oben genannten Algorithmus und die obige Syntax anwendet, um die Zeit um Stunden und Monate zu scrollen.

Beispiel 1

import java.util.Calendar;
import java.util.Date;

public class Calendarof2023 {
	public static void main(String[] args) throws Exception{
      Date d1 = new Date();
      Calendar c1 = Calendar.getInstance();
      Calendar c2 = Calendar.getInstance();
      c1.setTime(d1);
      c2.setTime(d1);
      System.out.println("Today the date is " + d1.toString());
      c1.roll(Calendar.MONTH, 50);
      System.out.println("Date after rolling by 50 over month will be "+ c1.getTime().toString());
      c1.roll(Calendar.HOUR, 70);
      System.out.println("Date after rolling by 70 over hours will be "+ c1.getTime().toString());
      c1.roll(Calendar.YEAR, 2);
      System.out.println("Date after rolling by 2 over year is "+ c1.getTime().toString());
      c2.roll(Calendar.MONTH, false);
      System.out.println("Date after false rolling over month will be "+ c2.getTime().toString());
      c2.roll(Calendar.HOUR, true);
      System.out.println("Date after true rolling over hour will be "+ c2.getTime().toString());
      c2.roll(Calendar.YEAR, true);
      System.out.println("Date after true rolling over year is "+ c2.getTime().toString());
	}
}

Ausgabe

Today the date is Mon Apr 10 10:42:31 GMT 2023
Date after rolling by 50 over month will be Sat Jun 10 10:42:31 GMT 2023
Date after rolling by 70 over hours will be Sat Jun 10 08:42:31 GMT 2023
Date after rolling by 2 over year is Tue Jun 10 08:42:31 GMT 2025
Date after false rolling over month will be Fri Mar 10 10:42:31 GMT 2023
Date after true rolling over hour will be Fri Mar 10 11:42:31 GMT 2023
Date after true rolling over year is Sun Mar 10 11:42:31 GMT 2024

Beispiel 2

import java.util.*;
public class Calendar2023 {
	public static void main(String args[]){
      Calendar calndr = Calendar.getInstance();
      System.out.println("The Current Month of the year"+ calndr.get(Calendar.MONTH));
      calndr.roll(Calendar.MONTH, true);
      System.out.println("The New Month is from the year: "+ calndr.get(Calendar.MONTH));
      calndr.roll(Calendar.MONTH, false);

      // Displaying the result after operation
      System.out.println("The new month is: "+ calndr.get(Calendar.MONTH));
	}
}

Ausgabe

The Current Month of the year3
The New Month is from the year: 4
The new month is: 3

Beispiel 3

import java.util.*;

public class Main {
   public static void main(String[] args) throws Exception {
      Date d1 = new Date();
      Calendar cl = Calendar. getInstance();
      
      cl.setTime(d1);
      System.out.println("today is the date - @ "+ d1.toString());
      
      cl. roll(Calendar.MONTH, 100);
      System.out.println("date after a month will be as per the calculation - > " + cl.getTime().toString() );
      
      cl. roll(Calendar.HOUR, 70);
      System.out.println("date after 7 hrs will be today is ->> "+ cl.getTime().toString() );
   }
}

Ausgabe

today is the date - @ Mon Apr 10 10:44:41 GMT 2023
date after a month will be as per the calculation - > Thu Aug 10 10:44:41 GMT 2023
date after 7 hrs will be today is ->> Thu Aug 10 08:44:41 GMT 2023

Beispiel 4

import java.util.Calendar;

public class CalendarExample {
   public static void main(String[] args) {
      Calendar cal = Calendar.getInstance();
      System.out.println("Time is ----- >>:" + cal.getTime());
      
      cal.roll(Calendar.YEAR, false);
      System.out.println("Time rolling down the year, result is here--->>:" + cal.getTime());
      
      cal.roll(Calendar.HOUR, true);
      System.out.println("Time rolling up the hour is now ---->>>:" + cal.getTime());
   }
}

Ausgabe

Time is ----- >>:Mon Apr 10 10:45:26 GMT 2023
Time rolling down the year, result is here--->>:Sun Apr 10 10:45:26 GMT 2022
Time rolling up the hour is now ---->>>:Sun Apr 10 11:45:26 GMT 2022

Beispiel 5

import java.util.*;
 
public class GetCurrentDateAndTime2023{
   public static void main(String args[]){
      int day, month, year;
      int second, minute, hour;
      GregorianCalendar date = new GregorianCalendar();
 
      day = date.get(Calendar.DAY_OF_MONTH);
      month = date.get(Calendar.MONTH);
      year = date.get(Calendar.YEAR);
 
      second = date.get(Calendar.SECOND);
      minute = date.get(Calendar.MINUTE);
      hour = date.get(Calendar.HOUR);
 
      System.out.println("Current date is now --->>  "+day+"/"+(month+1)+"/"+year);
      System.out.println("Current time is now --->> "+hour+" : "+minute+" : "+second);
   }
}

Ausgabe

Current date is now --->>  10/4/2023
Current time is now --->> 10 : 46 : 24

Beispiel 6

package com.DataFlair.DateAndTime;
import java.util.*;
import java.text.*;
public class DateFormatting{
   public static void main(String args[]) {
      Date CurrDate = new Date( );
      SimpleDateFormat formatDate = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      System.out.println("Current Date(Formatted) Like This:---> " + formatDate.format(CurrDate));
   }
}

Ausgabe

Current Date(Formatted) Like This:---> Mon 2023.04.10 at 10:47:17 AM GM

Beispiel 7

import java.util.Scanner;
public class Tptimedateexample {
 
   public static void main(String[] args) {
      long totalMilliseconds = System.currentTimeMillis();
      long totalSeconds = totalMilliseconds / 1000;
      long currentSecond = (int)(totalSeconds % 60);
      long totalMinutes = totalSeconds / 60;
      long currentMinute = (int)(totalMinutes % 60);
      long totalHours = totalMinutes / 60;
      long currentHour = (int)(totalHours % 24);
      long totalDays = totalHours / 24;
      int currentYear = (int)(totalDays / 365) + 1970;
      long daysInCurrentYear = (totalDays - numberOfLeapYearsSince1970(currentYear)) % 365;
      if (currentHour > 0) daysInCurrentYear++; 
      int currentMonthNum = getMonthFromDays(currentYear, (int) daysInCurrentYear);
      String month = getMonthName(currentMonthNum);
      int daysTillCurrentMonth = getNumOfDaysToReachThatMonth(currentYear, currentMonthNum);

      int startDay = getStartDay(currentYear, currentMonthNum);
      int today = (int) daysInCurrentYear - daysTillCurrentMonth;
      String dayOfWeek = dayNameOfWeek( ((startDay + today) % 7));
      System.out.println("Current date and time is here. Note That---->>>>: " + dayOfWeek + " " + month + " " + today +", " + currentYear +" " + currentHour + ":"+ currentMinute + ":" + currentSecond );

   }

   public static String dayNameOfWeek(int dayOfWeek) {

      switch (dayOfWeek) {
         case 2: return "Monday";
         case 3: return "Tuesday";
         case 4: return "Wednesday";
         case 5: return "Thursday";
         case 6: return "Friday";
         case 7: return "Saturday";
         case 1: return "Sunday";
         default: return null;
      }
   }

   public static int numberOfLeapYearsSince1970(long year) {

      int count = 0;
      for (int i = 1970; i <= year; i++) {
         if (isLeapYear(i))count++;
      }
      return count;
   }


   public static int getMonthFromDays(int year, int days) {
      int dayTracker = 0;
      for (int i = 1; i <= 12; i++) {

         dayTracker += getNumberOfDaysInMonth(year, i);

         if (dayTracker > days) return i;
      }
      return 12;
   }

   public static int getNumOfDaysToReachThatMonth(int year, int month) {
      int dayTracker = 0;
      for (int i = 1; i < month; i++) {
         dayTracker += getNumberOfDaysInMonth(year, i);
      }
      return dayTracker;
   }
    public static int getStartDay(int year, int month) {
      final int START_DAY_FOR_JAN_1_1800 = 3;
      int totalNumberOfDays = getTotalNumberOfDays(year, month);
      return (totalNumberOfDays + START_DAY_FOR_JAN_1_1800) % 7;
   }
   public static int getTotalNumberOfDays(int year, int month) {
      int total = 0;
      for (int i = 1800; i < year; i++)
         if (isLeapYear(i))
            total = total + 366;
         else
            total = total + 365;
      for (int i = 1; i < month; i++)
      total = total + getNumberOfDaysInMonth(year, i);

      return total;
   }
   public static int getNumberOfDaysInMonth(int year, int month) {

      if (month == 1 || month == 3 || month == 5 || month == 7 ||
                month == 8 || month == 10 || month == 12)
            return 31;

        if (month == 4 || month == 6 || month == 9 || month == 11)
            return 30;

        if (month == 2) return isLeapYear(year) ? 29 : 28;

      return 0; 
   }
   public static boolean isLeapYear(int year) {
      return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
   }
   public static String getMonthName(int month) {
      String monthName = "";
      switch (month) {
         case 1: monthName = "January"; break;
         case 2: monthName = "February"; break;
         case 3: monthName = "March"; break;
         case 4: monthName = "April"; break;
         case 5: monthName = "May"; break;
         case 6: monthName = "June"; break;
         case 7: monthName = "July"; break;
         case 8: monthName = "August"; break;
         case 9: monthName = "September"; break;
         case 10: monthName = "October"; break;
         case 11: monthName = "November"; break;
         case 12: monthName = "December";
      }

      return monthName;
   }

}

Ausgabe

Current date and time is here. Note That---->>>>: Monday April 10, 2023 10:54:30

Fazit

Hier sehen wir uns einige mögliche Time-Rolling-Methoden für Java-Code anhand von Syntax und Algorithmen an. Hoffentlich hat Ihnen dieser Artikel dabei geholfen, die Funktionsweise der verschiedenen hier genannten Scroll-Methoden zu verstehen und so dieses Problem zu lösen.

Das obige ist der detaillierte Inhalt vonJava-Programm zur Anzeige der Zeit durch Scrollen von Stunden und Monaten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen