-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDayBeforeNYears.java
85 lines (74 loc) · 2.03 KB
/
DayBeforeNYears.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package com.javamultiplex.datetime;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
/**
*
* @author Rohit Agarwal
* @category Date and Time Problems
* @problem Day before N years?
*
*/
public class DayBeforeNYears {
public static void main(String[] args) {
Scanner input = null;
try {
input = new Scanner(System.in);
System.out.println("Enter number of years : ");
int years = input.nextInt();
// Creating Calendar class instance
Calendar calendar = Calendar.getInstance();
String currentDate = getStringFromCalendar(calendar);
int dayofWeek = calendar.get(Calendar.DAY_OF_WEEK);
String dayName = getDayName(dayofWeek);
System.out.println("Current Date (dd/MM/yyyy) :" + currentDate + " and Day :" + dayName);
// Subtracting years from Calendar.
calendar.add(Calendar.YEAR, -years);
String newDate = getStringFromCalendar(calendar);
dayofWeek = calendar.get(Calendar.DAY_OF_WEEK);
dayName = getDayName(dayofWeek);
System.out.println("Before " + years + " year/s Date (dd/MM/yyyy) :" + newDate + " and Day :" + dayName);
} finally {
if (input != null) {
input.close();
}
}
}
private static String getDayName(int dayofWeek) {
String dayName = null;
switch (dayofWeek) {
case 1:
dayName = "Sunday";
break;
case 2:
dayName = "Monday";
break;
case 3:
dayName = "Tuesday";
break;
case 4:
dayName = "Wednesday";
break;
case 5:
dayName = "Thursday";
break;
case 6:
dayName = "Friday";
break;
case 7:
dayName = "Saturday";
break;
}
return dayName;
}
private static String getStringFromCalendar(Calendar calendar) {
// Converting Calendar to Date.
Date currentDate = calendar.getTime();
DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
// Converting Date to String.
String myCurrentDate = format.format(currentDate);
return myCurrentDate;
}
}