Table of Contents
Algorithm for displaying time by scrolling hours and months
Syntax for displaying time by scrolling hours and months
method
Java program to display time by scrolling hours and months
Example 7
Output
in conclusion
Home Java javaTutorial Java program to display time by scrolling hours and months

Java program to display time by scrolling hours and months

Aug 25, 2023 pm 09:49 PM
time display java time scrolling scroll display

Java program to display time by scrolling hours and months

The credibility of an efficient coding language depends on its ability to manage dates and times. In Java virtual environment, we get some inbuilt tools like date, time and calendar to handle date and time related issues.

  • java. Until Date Class - In Java, there are many classes containing those which are very important for the program. The Date class handles date and time operations. They are classes with clonable, serializable, and comparable interface capabilities.

  • Extract current date and time - There are two techniques to extract current date and time using Java.

    • Implementation of date class

    • Implementation of calendar class

In the method of date class, first we will consider a string containing date. By using this we will get date and time as output. By declaring the calendar class, we will create an instance class to get the current time of the system by calling getTime().

In this article today, we will build some Java code to display the time by scrolling hours and months.

Algorithm for displaying time by scrolling hours and months

In this possible algorithm, we try to demonstrate how to display time by scrolling hours and months using Java.

  • Step 1 - Get Started.

  • Step 2 - Declare the function for each day of the year and month.

  • Step 3 - Statement, int total =0.

  • Step 4 - i

  • Step 5 - Use isLeapYear(i) to check for leap year if condition is met?

  • Step 6 - Otherwise, int i= 1. and check i

  • Step 7 - If the fifth condition is met; total = total 366; alternatively, total = total 365.

  • Step 8 - Do i iterations.

  • Step 9 - If the seventh condition is met.

  • Step 10 - Then, total=total getNumberOfDaysInMonth(year,i);.

  • Step 11 - Do i iterations.

  • Step 12 - If not, return the total.

  • Step 13 - Termination.

Syntax for displaying time by scrolling hours and months

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());
   }
}
Copy after login

Above, we mentioned the possible syntax for the given problem. By following these syntax, we will write some program to get the time by rolling hours and months.

method

  • Method 1 - Java program to display time by scrolling hours and months

Java program to display time by scrolling hours and months

In these Java build codes, we try to explain how to apply the above algorithm and syntax to display the time by hours and months in a scrolling manner.

Example 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());
	}
}
Copy after login

Output

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
Copy after login

Example 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));
	}
}
Copy after login

Output

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

Example 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() );
   }
}
Copy after login

Output

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
Copy after login

Example 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());
   }
}

Copy after login

Output

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
Copy after login

Example 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);
   }
}
Copy after login

Output

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

Example 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));
   }
}
Copy after login

Output

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

Example 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;
   }

}
Copy after login

Output

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

in conclusion

Here, we looked at some possible time rolling methods for java code through syntax and algorithms. Hopefully this article helped you understand how the various scrolling methods mentioned here work, through which we solved the problem.

The above is the detailed content of Java program to display time by scrolling hours and months. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to elegantly obtain entity class variable names to build database query conditions? How to elegantly obtain entity class variable names to build database query conditions? Apr 19, 2025 pm 11:42 PM

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

How to simplify field mapping issues in system docking using MapStruct? How to simplify field mapping issues in system docking using MapStruct? Apr 19, 2025 pm 06:21 PM

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log? How does IntelliJ IDEA identify the port number of a Spring Boot project without outputting a log? Apr 19, 2025 pm 11:45 PM

Start Spring using IntelliJIDEAUltimate version...

Is the company's security software causing the application to fail to run? How to troubleshoot and solve it? Is the company's security software causing the application to fail to run? How to troubleshoot and solve it? Apr 19, 2025 pm 04:51 PM

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

How to safely convert Java objects to arrays? How to safely convert Java objects to arrays? Apr 19, 2025 pm 11:33 PM

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

What is the difference between memory leaks in Java programs on ARM and x86 architecture CPUs? What is the difference between memory leaks in Java programs on ARM and x86 architecture CPUs? Apr 19, 2025 pm 11:18 PM

Analysis of memory leak phenomenon of Java programs on different architecture CPUs. This article will discuss a case where a Java program exhibits different memory behaviors on ARM and x86 architecture CPUs...

How to use the Redis cache solution to efficiently realize the requirements of product ranking list? How to use the Redis cache solution to efficiently realize the requirements of product ranking list? Apr 19, 2025 pm 11:36 PM

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

How to convert names to numbers to implement sorting within groups? How to convert names to numbers to implement sorting within groups? Apr 19, 2025 pm 01:57 PM

How to convert names to numbers to implement sorting within groups? When sorting users in groups, it is often necessary to convert the user's name into numbers so that it can be different...

See all articles