将日期和时间转换为GMT + 10日期和时间
问题描述:
我想将当地时间转换为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 });
答
我发现了我的问题的答案。
var ActivityDate = TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("E. Australia Standard Time")) });
那么你不*使用* AusDateTime ...你仍然在使用'ActivityDate = DateTime.Now'。 (尽管我使用'DateTime.UtcNow',但我敦促你将当地时区带出图片。) –
正如Jon所说的,当你需要显示时,你应该总是处理UTC时间并从UTC转换到本地时间 –
DateTime.UtcNow适用于我的任务吗? –