2016-09-22 18 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

Jonが言っていたように、UTCの時間を扱い、UTCから現地時刻に変換する必要があります –

+0

DateTime.UtcNowは自分の仕事で使えますか? –

答えて

0

私は私の質問の答えを見つけました。

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