1

我正在使用ngx-cookie-service我的角度应用程序。在官方文档中,它说我可以为到期时间添加第三个参数,例如 -

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

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

4

1 回答 1

3

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

你会看到 expires 是:

距离 cookie 过期的天数或实际Date

因此,您只需要获取当前日期/时间并添加一个小时,如下所示:

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始终返回 JS 日期)来操作日期要容易得多。

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

显然,您需要 ... npm install date-fns ... 才能使其正常工作。对于替代日期操作库,请搜索date-fnsnpm趋势的替代方案。虽然,以我的拙见,我认为date-fns是一流的。耶稣爱你 :D

date-fns 的文档在这里

于 2021-08-05T00:53:12.340 回答