【发布时间】:2016-09-22 13:35:40
【问题描述】:
我想将我的本地时间转换为 GMT+10 时间。我正在使用 asp.net,我的网站托管在 azure 中。在获得该日期和时间之后,它应该在下面的代码中设置为 ActivityDate。
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 });
【问题讨论】:
-
你没有使用 AusDateTime...你还在使用
ActivityDate = DateTime.Now。 (不过,我敦促您使用DateTime.UtcNow将您的本地时区排除在外。) -
正如乔恩所说,您应该始终处理 UTC 时间,并在需要显示时从 UTC 转换为本地时间
-
DateTime.UtcNow 是否适用于我的任务?
-
没有任何方法可以通过 GMT+10 和 DateTime.Now 来获取澳大利亚的 DateTime 吗?我只是问?