1

I am using ngx-cookie-service for my angular app. In the official docs it says I can add a third parameter for the expiration time like -

this.cookieService.set('CookieName', 'Cookie Value', 5);

The third parameter is for expire time in days. Is there any way to set the expiration time of the cookie in minutes or in an hour? IE: 30 mint or Hour.

Pavan Jadda
  • 4,306
  • 9
  • 47
  • 79
RAHUL KUNDU
  • 745
  • 2
  • 12
  • 33

1 Answers1

4

If you look at the code here: https://github.com/stevermeister/ngx-cookie-service/blob/master/projects/ngx-cookie-service/src/lib/cookie.service.ts#L105

You will see that expires is:

Number of days until the cookies expires or an actual Date

As such, you just need to get the current date/time and add an hour to it like so:

const myDate: Date = new Date();
myDate.setHours( myDate.getHours() + 1 );

And then:

this.cookieService.set('CookieName', 'Cookie Value', myDate);

OR

this.cookieService.set('CookieName', 'Cookie Value', { expires: myDate });

Note, manipulating dates is much easier with a date manipulation library like date-fns which always returns a JS Date.

import { addHours } from 'date-fns';
const myDate: Date = addHours(new Date(), 1);

Obviously you will need to ... npm install date-fns ... for this to work. For alternative date manipulation libraries search for alternatives to date-fns with npm trends. Although, in my humble opinion, I consider date-fns to be top notch. J-E-S-U-S loves you :D

Docs for date-fns are here

danday74
  • 52,471
  • 49
  • 232
  • 283