从字符串中解析小时和AM/PM值 - C#

Mic*_*ern 2 c# string string-parsing

从C#中的"9:00 PM"等字符串格式解析小时和AM/PM值的最有效方法是什么?

伪代码:

string input = "9:00 PM";

//use algorithm

//end result
int hour = 9;
string AMPM = "PM";
Run Code Online (Sandbox Code Playgroud)

Cha*_*ion 8

试试这个:

string input = "9:00 PM";

DateTime result;
if (!DateTime.TryParse(input, out result))
{
    // Handle
}

int hour = result.Hour == 0 ? 12 
           : result.Hour <= 12 ? result.Hour 
           : result.Hour - 12;
string AMPM = result.Hour < 12 ? "AM" : "PM";
Run Code Online (Sandbox Code Playgroud)