2015-09-16 2 views
0

У меня возникли проблемы с настройкой «accountexpires» и задался вопросом, знает ли кто-нибудь об этом, я считаю, что это потому, что у меня есть 18-значное число. У меня есть форма, где кто-то устанавливает дату, мне нужно, чтобы учетная запись истекала тогда, если я предоставляю номер в виде жесткокодированной строки, в которой он работает, но я не могу преобразовать законченный расчет в строку. Кто-нибудь знает об этом? Благодарю.настройка учетной записи наступает с PHP и LDAP

<?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

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 
Смежные вопросы