У меня есть проверка, которую я запускаю на сервере и в настольном приложении, но результат не согласован.
Это код на сервере, который добавляет временную метку к строке, которую я отправляю обратно внастольное приложение.Так что возвращаемая строка истекает через некоторое время и не может быть использована, поскольку она зашифрована.
Сервер:
Double unixTimestamp = (double)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
DateTime TodayDate = UnixTimeStampToDateTime(unixTimestamp);
Настольное приложение:
//li.tStamp this comes from the server
DateTime time = UnixTimeStampToDateTime(Convert.ToDouble(li.tStamp));
Double unixTimestamp = (double)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
DateTime time2 = UnixTimeStampToDateTime(unixTimestamp);
Условие:
double SecondsDifference = time2.Subtract(time).TotalSeconds;
if (SecondsDifference > 0 && SecondsDifference < 30)
{
// DO SOMETHING HERE
}
Дело в том, что результат не соответствует емуработает на одном компьютере, а не на другом, что я здесь делаю не так?
public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
{
// Unix timestamp is seconds past epoch
System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).ToLocalTime();
return dtDateTime;
}