我有一个代码,用户输入DateTime和需要转换日期的时区以及结束日期的格式 . 下面是代码 .
代码将DateTime完美转换为用户输入的时区,但在格式化Datetime时,日期时间偏移值始终默认为系统时区偏移量 . 例如,当我将日期2014-10-30T08:01:01-06:00(中央时间)转换为太平洋标准时间并格式化时 . 结果是2014-10-30T06:01:01 ** - 06:00 **,它应该是2014-10-30T01:01:01 ** - 08:00 **偏移值默认为系统时区这是中心时间 .
DateTime inputtime;
string TimezoneID;
String outputdateformat;
inputtime = "2014-10-30T08:01:01-05:00"
TimezoneID ="Pacific Standard Time".
Outputdateformat ="yyyy-MM-ddThh:mm:ss zz"
DateTime finaloutputtime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(inputtime,TimezoneID);
string FinalFormattedDate = finaloutputtime.toString(outputdateformat);
2 回答
您可以使用
DateTimeOffset
而不是DateTime
来处理:如果要将DateTimeOffset转换为另一个DateTimeOffset,可以在TimeZoneInfo中使用专用函数
或者你可以这样做