×

# Java program to store the time in a single integer variable

Given/input the time, we have to store it in a single integer variable.
Submitted by Nidhi, on March 05, 2022

## Problem statement

In this program, we will read hh, mm, ss variables from the user and store input date into a single integer variable using bitwise operators. Then we will also extract time and store it into hh, mm, ss variables.

## Source Code

The source code to store time in a single integer variable is given below. The given program is compiled and executed successfully.

```// Java program to store the date in a
// single integer variable

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner SC = new Scanner(System.in);

int dd, mm, yy;
int date;

System.out.printf("Enter date (dd mm yyyy) format: ");
dd = SC.nextInt();
mm = SC.nextInt();
yy = SC.nextInt();

System.out.printf("\nEntered date is: %02d/%02d/%04d\n", dd, mm, yy);

date = 0;

//dd storing in byte 0
date |= (dd & 0xff);

//mm storing in byte 1
date |= (mm & 0xff) << 8;

//yy storing in byte 2 and 3
date |= (yy & 0xffff) << 16;

System.out.printf("Date in single variable: %d [Hex: %08X] \n", date, date);

//Now extract date from an integer variable

//dd from byte 0
dd = (date & 0xff);

//mm from byte 1
mm = ((date >> 8) & 0xff);

//yy from byte 2 and 3
yy = ((date >> 16) & 0xffff);

System.out.printf("Date after extracting: %02d/%02d/%04d\n", dd, mm, yy);
}
}
```

### Output

```Enter time (hh mm ss) format: 10 11 12

Entered time is: 10:11:12
Time in single variable: 789258 [Hex: 000C0B0A]
Time after extracting: 10:11:12
```

## Explanation

In the above program, we imported the "java.util.Scanner" package to read input from the user. And, created a public class Main. It contains a static method main().

The main() method is an entry point for the program. Here, we read time (hh mm ss) from the user. Then we stored the input time into a single variable using bitwise operators. After that, we also extracted the values for time's (hh mm ss) variables and printed the result.