Я изучаю работу функций CZ 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. Помогает ли это разъяснить? –
Если этот код работает на сервере, да. Благодарю. –