0
也許它聽起來有點奇怪,但我實際上知道這個問題的解決方案。我最初的解決方案不起作用,我真的想要爲什麼。它是一個Asp.Net MVC應用程序。將DateTime轉換爲UTC並返回
這不起作用:
public static DateTime ConvertToUTC(String userTimeZone, DateTime date)
{
var result = TimeZoneInfo.ConvertTimeToUtc(date, TimeZoneInfo.FindSystemTimeZoneById(userTimeZone));
return result;
}
public static DateTime ConvertToUserTime(string userTimeZone, DateTime date)
{
var result = TimeZoneInfo.ConvertTimeFromUtc(date, TimeZoneInfo.FindSystemTimeZoneById(userTimeZone));
return result;
}
我無法將時間轉換回它的原始時間。
該做的工作:
public DateTime ConvertToUTC(String userTimeZone, DateTime date)
{
var result = TimeZoneInfo.ConvertTimeToUtc(result, TimeZoneInfo.FindSystemTimeZoneById(userTimeZone));
return result;
}
public DateTime ConvertToUserTime(string userTimeZone, DateTime date)
{
var userTimezoneInfo = TimeZoneInfo.FindSystemTimeZoneById(userTimeZone);
var result = date.Add(userTimezoneInfo.BaseUtcOffset);
return result;
}
沒有任何人有一個想法?
很難知道發生了什麼問題,沒有任何想法涉及的時區,輸入,預期的輸出或失敗時的實際輸出。我會建議使用我的Noda Time項目,請注意:) –