Afzaal Ahmad Zeeshan
Так оно и должно быть. значение datetime.Теперь возвращает текущее время с машины клиента, и вы не можете игнорировать этот факт о .NET.
Что вы можете сделать, так это получить DateTime с вашего собственного сервера для работы. Это позволило бы свести к минимуму ошибку получения неточного времени. Попробуйте использовать DateTime.UtcNow, чтобы получить время Utc на вашем собственном сервере. Таким образом, вы можете сохранить фактическую дату-время на вашем сервере и дату-время пользователя в отдельном файле папки AppData. Где вы сравниваете дату и время перед каждым выполнением.
Но есть много других методов для получения точной даты и времени, взгляните на этот[^] вебсайт. Вы можете получить время и оттуда.
Но даже Дата-Время.UtcNow, который был выполнен на компьютере клиента, даст объект DateTime, который будет преобразован в тип Utc объекта DateTime, возвращенного из datetime его системы.
Помнить: Вы не можете запретить пользователю что-либо делать. Windows позволит ему это сделать, это ваша работа-быть таким же пессимистом, чтобы быть уверенным в этих вещах. Он будет делать много злых вещей, о которых вам нужно быть осторожным :D