"Days-To-Go" is an interesting and useful feature in website design. It shows up the remaining number of days (or even with hours, minutes, and seconds) towards an event. For example, at anytime you visit the official website of Tokyo 2020 Olympic Game (https://tokyo2020.org/en/), you will see such a feature showing the number of days, hours, minutes and seconds towards the starting date of Tokyo 2020. In this assignment, you are going to write a JavaScript program to implement the Days-To-Go feature.
In JavaScript a time is defined as a Date Object. Each date object stores its state as a time value, which is a primitive number that encodes a date as milliseconds since 1 January 1970 00:00:00 UTC. Thus, a date later than 1 January 1970 00:00:00 UTC will have a positive time value, whereas an earlier date will have a negative time value. On the basis of the common timeline (which we all live on), the distance between any two dates can be calculated using their time values in milliseconds. Figure 1 illustrates the concept, where C is a date earlier than 1 January 1970 00:00:00 UTC, and A and B are later with B being further than A.
Figure 1: The Difference Between Two Date Instances: see image.
Within the script section, create constants and variables following professional conventions and initialise them using right values. Some constants and variables have been suggested in the following tables. You should create more when necessary.
Table 1: Constants
Description | Value |
Number of milliseconds in a day | 1000*60*60*24 |
Number of milliseconds in an hour | 1000*60*60 |
Number of milliseconds in a minute | 1000*60 |
Number of milliseconds in a second | 1000 |
Table 2: Variables
Description | Initialising value description | Type |
Event | The name of event | String |
Year of the event | The year of event | Number |
Month of the event | The month of event | Number |
Day of the event | The day of event | Number |
1. Create a Date object for the event by using the variables created previously.
Figure 2: Illustration of the four inputs: see image.
2. Create a Date object for the current time.
3. Calculate the difference between the current time and the event time (assume it is the starting time 0:00:00 a.m. on the date of the event):
4. Calculate the number of days to the event:
Figure 3 shows a sample output when running the "Days-To-Day" program. Note that
Figure 3: Illustration of the Output: see image.
Test your program by enter the date of Christmas in 2021 to see whether the outcome is correct or not.