2013-11-11 2 views
1

Я закодировал этот фрагмент, чтобы регистрировать IP пользователей и время на моем сайте. Это работает, но что-то не так со временем:Проблемы со временем

public static void UserLogin(string iPaddress, string uname) 
{ 
    DateTime dt = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now); 
    string cet= dt.AddHours(1).ToString("F", new CultureInfo("en-US")); 
    ..... 

} 

Сайт находится на сервере где-нибудь в Великобритании, так и для настройки времени входа в СЕТ, не заходя слишком сложной, я просто toughth добавив разницу часов использования (AddHours) но по какой-то причине, и я не понимаю, почему, сколько бы я ни положил туда «AddHours (1)», никогда не будет добавлен и более того, прямо сейчас, что составляет 13:55 в моем местоположении в Италии, регистратор времени по методу составляет 1:55 утра, что на 12 часов меньше, даже если часы не добавлены «AddHours (0)». Некоторая помощь, чтобы понять, что происходит в этом методе, будет оценена по достоинству. Благодарю.

ответ

1

Вы можете преобразовать время между часовых поясов в более контролируемым образом, например:

DateTime nowutc = DateTime.UtcNow; 
var cet = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time"); 
var nowcet = TimeZoneInfo.ConvertTimeFromUtc(nowutc, cet); 
+0

Спасибо большое. Очевидно, ваш код работает, но все же я не понимаю, что в этом не так. – FeliceM

+0

Привет, я изменил свой код, и я использую фрагмент, который вы мне дали, но у меня все еще есть проблемы. Локально на моей машине это нормально, но на сервере хостинга код возвращается на 4 часа. Сейчас 16:32 CET, это означает, что на сервере (Великобритания) 15:32, фрагмент возвращается в 19:32? Любой совет? – FeliceM

Смежные вопросы