---
title: "2106年2月7日,一个神奇的日子"
url: "https://lerry.me/post/2014/02/magical-date"
date: 2014-02-18T04:38:06.000Z
updated: 2026-08-14T01:54:45.776Z
tags:
language: zh-CN
---

# 2106年2月7日,一个神奇的日子

今天妹子告诉我了个有趣的事情，她的Skype穿越了，客户发来的信息显示时间是2106年2月7日，

![Image Title](https://r2.lerry.me/next-blog/uploads/2014-02-18/time.jpg)

看到这个，我第一反应是，是否电脑时间设置有误？经检查，系统时间是正常的。我突然想起来，这个时间似乎很熟悉。
我又想到了一种可能，搜索 mysql int，查到 32位 无符号整型的最大值是2^32-1 也就是 4294967295，然后打开iPython，输入

```python
In [12]: time.localtime(2**32-1)
Out[12]: time.struct_time(tm_year=2106, tm_mon=2, tm_mday=7, tm_hour=6, tm_min=28, tm_sec=15, tm_wday=6, tm_yday=38, tm_isdst=0)
```

回显的结果证实了我的猜测，Skype用来存储聊天记录时间的，很可能是UNSIGNED INT型，时间存储时发生了异常，致使数据溢出，变成了 4294967296，解析后正好是2106年2月7日。

我又想起了曾经看到某网站，信息发布日期是1970 01-01，这也好解释，可能是存储时数字溢出变成了0，也可能是默认值为0，格式化后就变成了1970 01-01。

在我把这些解释告诉妹子之后，妹子没有表示出预期的钦佩，反而怪我破坏了她的艺术猜想...
oh，程序猿！！！
