Se o www-data estiver no arquivo sudoers, você declararia que o comando sudo
não precisaria de uma senha, pois www-data não pode inserir um.
A entrada de sudoers deve ser www-data ALL=(ALL:ALL) NOPASSWD: ALL
Em seguida, você precisaria executar sudo date --set [HH:MM:SS]
em vez de apenas date --set [HH:MM:SS]
.
www-data nunca deve ter sudo
direitos, a menos que você esteja apenas usando para seu próprio desenvolvimento pessoal, em um servidor de teste. Esta é uma grande lacuna de segurança.
Edit: Dê uma olhada nesta questão, que é simalar sudo em php exec ()