How to Get Current Date in Angular

Rana Hasnain Khan Feb 14, 2024
  1. Get Current Date in Angular
  2. Prerequisites for Working with Dates in Angular
  3. Get Current Date in Angular Example 1: Basic Implementation
  4. Get Current Date in Angular Example 2: Changing Date Format
  5. FAQ: Handling Time Zones
  6. Conclusion
How to Get Current Date in Angular

In Angular, fetching the current date is vital for timestamps and time-sensitive tasks. Angular offers diverse methods for obtaining the current date, tailored to specific application needs.

This article presents a method for acquiring the current date in Angular, along with examples and insights into date format customization.

Get Current Date in Angular

In Angular, dealing with dates—containing day, month, and year—is crucial for managing data. This guide introduces a simple method to fetch the current date in Angular and highlights its importance in crafting customized user interfaces.

This article will explore seamlessly integrating current date functionality into the core of our Angular projects.

Prerequisites for Working with Dates in Angular

  1. Angular CLI Installation:
  • Install the Angular CLI globally to streamline the creation, building, and serving of Angular applications.
npm install -g @angular/cli
  1. Date Object in JavaScript/TypeScript:
  • Gain familiarity with the native JavaScript Date object, foundational for date creation, manipulation, and formatting in Angular.
  1. Angular DatePipe Usage:
  • Understand the Angular DatePipeutility to format dates for display in templates. This knowledge facilitates presenting dates in diverse formats based on application requirements.
import { DatePipe } from '@angular/common';
  1. Handling Time Zones:
  • Acknowledge the importance of handling time zones, particularly in applications with users across different regions. Explore UTC methods to ensure consistency and accuracy when working with dates in Angular.

Get Current Date in Angular Example 1: Basic Implementation

We’ll utilize the Angular CLI (Command Line Interface) to create a new application using the following command.

ng new my-app

After creating our application in Angular, we’ll go to our application directory.

cd my-app

We run our app to check if all dependencies are installed correctly. The --open flag automatically opens the application in your default web browser.

ng serve --open

We’ll get the current date by using the date() method in the app.component.ts file. First, open the ts file(app.component.ts), and we can add the following code to get the current date.

Code - app.component.ts:

import { Component, VERSION } from '@angular/core';
import { DatePipe } from '@angular/common';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  today = new Date();
}

In the above component, we’ve initiated a variable today using the native JavaScript Date object to store the current date. This code ensures that today holds the present date value, facilitating its use within our Angular application.

In the associated HTML file (app.component.html), use the following snippet to display the current date.

Code - app.component.html:

<h2 class="title">Delftstack</h2>
<p>{{today}}</p>

Output:

get current date in angular - output 1

Using this one line of code (today = new Date();), we can get the current date and time in this format.

Get Current Date in Angular Example 2: Changing Date Format

Now, let’s explore how to change the date format according to specific requirements.

First, let’s import DatePipe in app.component.ts as shown below.

import { DatePipe } from '@angular/common';

Then, we’ll create a function changeFormat that will save the date and change its format according to us. So, the format remains the same whenever we use it, but if we want to change it to any other format, we can easily change it in any format necessary using functions.

Next, we’ll define a new variable, changedDate that we’ll use to save the value of the date after the format is changed by our function. Following, we create a function changeFormat() that will take today as a parameter and transform the date into the new format defined by us using DatePipe().

Lastly, we’ll define a variable pipe that will store the date’s timezone. The code in app.component.ts will look like the below.

Code - app.component.ts:

import { Component, VERSION } from '@angular/core';
import { DatePipe } from '@angular/common';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  today = new Date();
  changedDate = '';
  pipe = new DatePipe('en-US');
  changeFormat(today){
    let ChangedFormat = this.pipe.transform(this.today, 'yyyy/mm/dd');
    this.changedDate = ChangedFormat;
    console.log(this.changedDate);
  }
}

In the HTML file (app.component.html), add a button to trigger the changeFormat() function, and we’ll display the date in a new format using the new variable we just assigned.

Code - app.component.html:

<h2 class="title">Delftstack</h2>
<p>
  Today is {{ today }}
</p>
<button (click)='changeFormat(today)'>Change Date</button>
<p>
  Today is {{ this.changedDate }}
</p>

Output:

get current date in angular - output 2

In the above example, it displays Sat Dec 30 2023 03:08:39 GMT+0800 (Philippine Standard Time) but when we click on the button "Change Date" it calls the changeFormat() function inside the click() method, and returns the date with the changed format (Today is 2023/08/30).

In this way, we can get the current date in our application that can be changed in format by using DatePipe().

FAQ: Handling Time Zones

Q1: How can I handle time zones when working with the current date in my Angular application?

A1: When dealing with the current date in an Angular application, consider time zones, especially in distributed or international projects. Angular itself doesn’t inherently handle time zones, but you can ensure consistency by using UTC methods.

For Example:

 import { Component } from '@angular/core';

   @Component({
     selector: 'my-app',
     templateUrl: './app.component.html',
     styleUrls: ['./app.component.css']
   })

   export class AppComponent {
     today = new Date(Date.UTC(new Date().getUTCFullYear(), new Date().getUTCMonth(), new Date().getUTCDate()));
   }

Always be mindful of time zone considerations, especially in globally accessed applications.

Conclusion

In conclusion, this guide introduces an approach to effortlessly obtain the current date in Angular applications, along with the flexibility to customize and manipulate date formats as needed. Whether for timestamping or displaying dates in a specific format, these examples provide a solid foundation for managing date-related functionalities in your Angular projects.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Related Article - Angular Date