localtime的上限 (perl)

使用这两函数时,由于内部把纪元秒存为有符号整数,可表示正的和负的日期,但计算机存储器所表示的整数大小是有限的,用有限的位数来表示秒。这就是说,我们在计算纪元秒时,所表示的日期是有限制的。

确切的限度取决于你的机器所能表示的整数的位数。 Perl最多以32位的长度存储整数。粗略地讲,有一位用来表示正负号,其余31位来表示数。如果8位,你可以存储的最大数是255,即2的8次方减1。故Perl中所存储的32位符号数中的最大数为:

print 2**31–1, "\n";

2147483647

这个数字对应了哪个日期呢?

print scalar(gmtime 2**31-1), "\n";

Tue Jan 19 03:14:07 2038

在那个时刻的1秒之后会发生什么呢?

将返回空值,因为cookie内部使用的是gmtime,所以设定时时间不能超过Tue Jan 19 03:14:07 2038

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值