Конвертировать текущую дату + 1 месяц в аккаунт Expire AD attribut - PullRequest
1 голос
/ 16 января 2020

Я пытаюсь преобразовать текущую дату + 1 месяц в окончательную временную метку для Active Directory с атрибутом accountExpire. Но возвращенная временная метка неверна, если кто-то может мне помочь. Спасибо

$now = strtotime(date('Y-m-d H:i:s'));
$final = date('Y-m-d H:i:s', strtotime('+1 month', $now));
$dateTime = new DateTime($final);
$timestamp = $dateTime->format('U');

echo $timestamp; 

1 Ответ

2 голосов
/ 16 января 2020

Вам нужно только

$timestamp = strtotime('+1 month');

Мне пришлось его искать, но оказывается, что временная метка LDAP не совпадает с UNIX временной меткой. Метка времени LDAP отсчитывается в сотнях наносекунд и отсчитывается с 1601 года. Вы можете легко конвертировать одно в другое, применяя разницу и умножая на 10000000

$UNIXtimestamp = strtotime('+1 month');
$LDAPTimestamp = ($UNIXtimestamp + 11644473600) * 10000000;
...