2016-09-22 2 views
0

Я хочу конвертировать мое местное время в GMT + 10 раз. Я использую asp.net, и мой сайт размещен на лазурном. И после получения этой даты & времени он должен быть установлен на ActivityDate в нижнем коде.Преобразование даты и времени в GMT + 10 Дата и время

TimeZoneInfo timeZoneInfo; 
DateTime dateTime; 
timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("E. Australia Standard Time"); 
dateTime = TimeZoneInfo.ConvertTime(DateTime.Now, timeZoneInfo); 
DateTime AusDateTime= dateTime.ToString("yyyy-MM-dd HH-mm-ss"); 


_activityService.InsertActivity(new ActivityDto { UserName = HttpContext.Current.User.Identity.Name, ActivityType = ActivityConstants.ACT_TYPE_USR_MGT, ActivityDescription = ActivityConstants.USR_MGT_DESCR_FORGOT_PW, ActivityDate = DateTime.Now }); 
+3

Ну, вы не используете * AusDateTime ... вы все еще используете 'ActivityDate = DateTime.Now'. (Я бы настоятельно рекомендовал вам снять ваш местный часовой пояс с картинки, используя 'DateTime.UtcNow'.) –

+0

Как сказал Джон, вы всегда должны иметь дело с временем UTC и конвертировать с UTC по местному времени, когда вам нужно отображать –

+0

Работает ли DateTime.UtcNow для моей задачи? –

ответ

0

Я узнал ответ на свой вопрос.

var ActivityDate = TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("E. Australia Standard Time")) }); 
Смежные вопросы