DEV Community

Aman Kumar
Aman Kumar

Posted on

Day 9: Mastering Dates in JavaScript

Today's focus is on understanding and manipulating dates in JavaScript. Dates are a fundamental aspect of many applications, and JavaScript provides a robust set of tools for working with them.

1. Understanding JavaScript Dates

JavaScript dates are calculated from 1 January 1970, which is known as the Unix epoch. They are usually represented in milliseconds since that time. Here's how you can create and view a date:

let myDate = new Date();
console.log(myDate); 
// Output: 2024-04-24T08:15:11.671Z
Enter fullscreen mode Exit fullscreen mode

2. Converting Dates to Readable Formats

JavaScript provides several methods to convert dates into more readable formats:

console.log(myDate.toString()); 
// Output: Wed Apr 24 2024 13:47:36 GMT+0530 (India Standard Time)

console.log(myDate.toDateString()); 
// Output: Wed Apr 24 2024

console.log(myDate.toLocaleString()); 
// Output: 24/4/2024, 1:49:14 pm

console.log(myDate.toJSON()); 
// Output: 2024-04-24T08:20:04.530Z

console.log(myDate.toISOString()); 
// Output: 2024-04-24T08:21:49.915Z

console.log(myDate.toLocaleDateString()); 
// Output: 24/4/2024
Enter fullscreen mode Exit fullscreen mode

Each method serves a different purpose, allowing you to format dates according to your needs.

3. Type of Date

In JavaScript, dates are treated as objects:

console.log(typeof myDate); 
// Output: Object
Enter fullscreen mode Exit fullscreen mode

4. Declaring Specific Dates

You can also declare specific dates in JavaScript. Here’s how you can create a date for a specific day and time:

let myCreatedDate = new Date(2002, 10, 24); 
console.log(myCreatedDate.toDateString()); 
// Output: Sun Nov 24 2002

myCreatedDate = new Date(2002, 10, 24, 5, 3);
console.log(myCreatedDate.toLocaleString()); 
// Output: 24/11/2002, 5:03:00 am

myCreatedDate = new Date("11-24-2002");
console.log(myCreatedDate.toLocaleString()); 
// Output: 24/11/2002, 5:30:00 am
Enter fullscreen mode Exit fullscreen mode

Remember that months in JavaScript start from 0 (January), so November is represented as 10.

5. Working with Timestamps

Timestamps represent the number of milliseconds that have elapsed since the Unix epoch (1 January 1970). You can get the current timestamp like this:

let myTimeStamp = Date.now();
console.log(myTimeStamp); 
// Output: 1713948664801
Enter fullscreen mode Exit fullscreen mode

You can also retrieve the timestamp for a specific date:

console.log(myCreatedDate.getTime()); 
// Output: 1038076200000
Enter fullscreen mode Exit fullscreen mode

This allows for easy comparison between dates.

6. Converting Milliseconds to Seconds

Sometimes you might want to convert milliseconds into seconds:

console.log(Math.floor(Date.now() / 1000)); 
// Output: 1713950199
Enter fullscreen mode Exit fullscreen mode

7. Exploring Date Methods

JavaScript offers several methods to extract parts of a date, such as the day of the week or the month:

let myDates = new Date();
console.log(myDates.getDay()); 
// Output: 3 (Wednesday)

console.log(myDates.getMonth() + 1); 
// Output: 4 (April)
Enter fullscreen mode Exit fullscreen mode

You can also customize the format and content of your date output:

`${myDates.getDay()} and the time is`;

myDates.toLocaleString('default', {
    weekday: "long"
});
// Output: Wednesday
Enter fullscreen mode Exit fullscreen mode

In summary, today’s exploration covered the essential tools and methods for working with dates in JavaScript. Whether you need to format dates, calculate timestamps, or extract specific date components, JavaScript provides everything you need. Mastering these concepts will significantly enhance your ability to handle time-related data in your applications. Happy coding!

Top comments (0)