如何使用 `ngx-cookie-service` 设置 Cookie 的过期时间

How to set expire time of Cookie using `ngx-cookie-service`

我正在为我的 angular 应用程序使用 ngx-cookie-service。在 official docs 它说我可以为到期时间添加第三个参数,如 -

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

第三个参数是以天为单位的过期时间。有什么办法可以设置cookie的过期时间是分钟还是小时? IE:30 分钟或一小时。

如果您查看此处的代码:https://github.com/stevermeister/ngx-cookie-service/blob/master/projects/ngx-cookie-service/src/lib/cookie.service.ts#L105

你会看到 expires 是:

Number of days until the cookies expires or an actual Date

因此,您只需要获取当前 date/time 并像这样添加一个小时:

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

然后:

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

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

注意,使用像 date-fns 这样的日期操作库来操作日期要容易得多,它总是 returns JS 日期。

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

显然,您需要... npm install date-fns ... 才能正常工作。对于替代日期操作库,使用 npm trends 搜索 date-fns 的替代方法。虽然,以我的拙见,我认为 date-fns 是一流的。 J-E-S-U-S 爱你 :D

date-fns 的文档是 here