I have a program that asks a user for a date, then I compute how many days from 10/15/1582 to now that is. I want to take that number, and create a method that turns that number into a nice looking date such as "mm/dd/yyyy."
Knowing how many days from 10/15/1582, how can I create a string that displays the date since then nicely?
This is the method that takes the date and counts the number of days since 10/15/1582:
public int lilian() { // Returns the Lilian Day Number of this date. // Precondition: This Date is a valid date after 10/14/1582. // // Computes the number of days between 1/1/0 and this date as if no calendar // reforms took place, then subtracts 578,100 so that October 15, 1582 is day 1. final int subDays = 578100; // number of calculated days from 1/1/0 to 10/14/1582 int numDays = 0; // Add days in years. numDays = year * 365; // Add days in the months. if (month <= 2) numDays = numDays + (month - 1) * 31; else numDays = numDays + ((month - 1) * 31) - ((4 * (month-1) + 27) / 10); // Add days in the days. numDays = numDays + day; // Take care of leap years. numDays = numDays + (year / 4) - (year / 100) + (year / 400); // Handle special case of leap year but not yet leap day. if (month < 3) { if ((year % 4) == 0) numDays = numDays - 1; if ((year % 100) == 0) numDays = numDays + 1; if ((year % 400) == 0) numDays = numDays - 1; } // Subtract extra days up to 10/14/1582. numDays = numDays - subDays; return numDays; }