2016-09-22 251 views
0

我想將當地時間轉換爲GMT + 10時間。我正在使用asp.net,我的網站是以azure託管的。在獲得該日期後&時間應該在下面的代碼中設置爲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

正如Jon所說的,當你需要顯示時,你應該總是處理UTC時間並從UTC轉換到本地時間 –

+0

DateTime.UtcNow適用於我的任務嗎? –

回答

0

我發現了我的問題的答案。

var ActivityDate = TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("E. Australia Standard Time")) });