这是一个快速的,我需要在我的应用程序中设置不同的时区而不是IIS上的设置
我想要的只是在AESP而不是SPT中显示特定日期,这是C#.NET 3.5的一种方式吗?
答案 0 :(得分:2)
尝试TimeZoneInfo.ConvertTime(DateTime dateTime,TimeZoneInfo sourceTimeZone,TimeZoneInfo destTimeZone)
答案 1 :(得分:0)
我明白了:
DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
dtfi.FullDateTimePattern = "yyyy-MM-ddTHH:mmzzz";
DateTime s = DateTime.Parse(inputstring, dtfi);
s = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(s, "AUS Eastern Standard Time");
TimeZoneInfo tzz = TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time");
string timezone = (tzz.IsDaylightSavingTime(s)) ? tzz.DaylightName : tzz.StandardName;
CultureInfo culture = CultureInfo.CreateSpecificCulture("en-AU");
string output = String.Format("{0} | {1}", s.ToString("f", culture), timezone);
所以输入是:2009-10-13T10:00-7:00
输出是:2009年10月14日星期三凌晨4:00 | AUS东部夏令时
输入为:2009-9-13T10:00-7:00
输出是:2009年9月14日星期一凌晨3:00 | AUS东部标准时间