C#TimeZone関数の仕組みを学び、指定されたTimeZoneに時間を変換する方法について苦労しています。例えば、私がTimeZoneと時間で渡すところの手順を考えてみましょう - 時間を渡されたTimeZoneにどのように変換できますか?時間を特定のタイムゾーンに変換する
string proceduredatetime = "01/11/2017 10:17:34 AM"
string tz = "P";
string convertedDT;
convertedDT = ConvertToLocalTime(proceduredatetime, tz);
Console.WriteLine("Procedure Date Time: " + proceduredatetime);
Console.WriteLine("Timezone: " + tz);
Console.WriteLine("Converted Date Time: " convertedDT);
public static string ConvertToLocalTime(string proceduredatetime, string tz)
{
String lastscantimelocalformat;
string localtz;
switch (tz)
{
case "C":
localtz = "Central Standard Time";
break;
case "E":
localtz = "Eastern Standard Time";
break;
case "M":
localtz = "Mountain Standard Time";
break;
case "P":
localtz = "Pacific Standard Time";
break;
default:
Console.WriteLine("Invalid tz.");
break;
}
if (localtz != null)
{
tzInfo ltz = tzInfo.FindSystemtzById(localtz);
//Lost on this step
}
}
「01/11/2017 10:17:34 AM」はどのタイムゾーンですか?私は、その質問に対する3つの合理的な答えを見ることができます:1.コンピュータのローカルタイムゾーン。 2. UTC。 3. 'ConvertToLocalTime'の呼び出しで何がペアになっても。 –
その時刻はローカルサーバーの時刻です。私はそれをtzの値に変換したいと思っています。それが明確になるのに役立つのでしょうか? –
このコードがサーバー上で実行されている場合は、はい。ありがとう。 –