[英]Parse hour and AM/PM value from a string - C#
從C#中的“9:00 PM”等字符串格式解析小時和AM / PM值的最有效方法是什么?
偽代碼:
string input = "9:00 PM";
//use algorithm
//end result
int hour = 9;
string AMPM = "PM";
嘗試這個:
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";
string input = "9:00 PM";
DateTime dt = DateTime.Parse(input);
int hour = int.Parse(dt.ToString("hh"));
string AMPM = dt.ToString("tt");
請參閱自定義日期和時間格式字符串,以便從各種格式的DateTime值獲取信息。
嘗試這個:
DateTime result;
string input = "9:00 PM";
//use algorithm
if (DateTime.TryParseExact(input, "h:mm tt",
CultureInfo.CurrentCulture,
DateTimeStyles.None, out result))
{
//end result
int hour = result.Hour > 12 ? result.Hour % 12 : result.Hour;
string AMPM = result.ToString("tt");
}
使用DateTime.Parse:
string input = "9:00 PM";
DateTime parsed = DateTime.Parse(input);
int hour = int.Parse(dt.ToString("h"));
string AMPM = parsed.ToString("tt");
編輯 :自上午12點失敗后的小時刪除了%12。
開始偽代碼:
DateTime dt;
if (!DateTime.TryParse("9:00 AM", out dt))
{
//error
}
結束偽代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.