ユーザーが 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);