阅读 Yubico OTP 测试向量 我发现了像
2019-06-06T05:14:15Z0369
(或 2020-01-06T02:52:23Z0098
)这样的时间戳字符串,我想知道确切的规范是什么。
它似乎与ISO 8601中的任何格式都不匹配,那么这些时间戳是如何构造和解析的?
我找不到规范(而且我不是 PHP 程序员),但我发现这段代码可以在 ykval-common.php:
中创建“响应时间戳” // 2008-11-21T06:11:55Z0711
$t = substr(microtime(false), 2, 3);
$t = gmdate('Y-m-d\TH:i:s\Z0') . $t;
不太明白有什么用(加上微秒模1000);也许让时间变得“独特”。
为了避免混淆,使用 ISO 格式(允许小数秒(微秒))会更明智。