我无法设置' accountexpires'并且想知道是否有人知道如何绕过它,我相信它是因为我有一个18位数字。我有一个表单,有人设置日期,我需要设置帐户到期,如果我提供数字作为硬编码字符串,它工作,但我不能将完成的计算转换为字符串。有人知道这个吗?感谢。
<?php
$currentTimeUnix = 1442383989; //this will vary depending on user's input
$secondsBetween1601and1970 = 11644473600;
$timesAdded = $currentTimeUnix + $secondsBetween1601and1970;// comes to 13086857589
$nanoseconds = $timesAdded * 10000000; //comes to 130868575890000000
echo $nanoseconds; //displays 1.3086857589E+017
echo (string)$nanoseconds; //displays 1.3086857589E+017
echo strval($nanoseconds); //displays 1.3086857589E+017
?>
答案 0 :(得分:0)
对于大数字而言,PHP有点糟糕,但是sprintf可以提供帮助。尝试:
echo sprintf( '%018.0f', $nanoseconds );
-> 130868575890000000
或者,您可以更改描述precision
的“精度”设置:
精确整数
The number of significant digits displayed in floating point numbers.
ini_set("precision",20);
echo $nanoseconds;
-> 130868575890000000