I got string like this :
"10:00 AM"
"11:30 AM"
"12:00 AM"
from this stringi I want to know HOUR and Mins and AM / or PM as separate values.
I got string like this :
"10:00 AM"
"11:30 AM"
"12:00 AM"
from this stringi I want to know HOUR and Mins and AM / or PM as separate values.
You can use String.Split(String[], StringSplitOptions)
method like;
string s = "10:00 AM";
var array = s.Split(new string[] {":", " "}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(array[0]); //10
Console.WriteLine(array[1]); //00
Console.WriteLine(array[2]); //AM
Output will be;
10
00
AM
Here a demonstration
.
Or better way, you can use Convert.ToDateTime(String)
method for your string like;
var dt = Convert.ToDateTime("10:00 AM");
Console.WriteLine(dt.Hour);
Console.WriteLine(dt.Minute);
Console.WriteLine(dt.ToString("tt"), CultureInfo.InvariantCulture);
Output will be;
10
0
AM
Here a demonstration
.
EDIT: As andleer mentioned, using DateTime.Parse
can a better option.
You can parse into a DateTime object like this:
string timeString = "10:00 AM";
DateTime timeObject = DateTime.ParseExact(timeString, "hh:mm tt", null);
You can use Substring()
function to get the Part of the String
Syntax: Substring(int startIndex,int length);
Sample1:
String strDate = "10:00 AM";
String HH = strDate.Substring(0, 2);//10
String MM = strDate.Substring(3, 2);//00
String tt= strDate.Substring(6, 2);//AM
Console.WriteLine(HH+":"+MM+" "+tt);
Output: 10:00 AM
You can also use ToString()
function get the required part of Time
Sample2:
DateTime myDate = Convert.ToDateTime(strDate);
Console.WriteLine(myDate.ToString("HH"));
Console.WriteLine(myDate.ToString("mm"));
Console.WriteLine(myDate.ToString("tt",System.Globalization.CultureInfo.InvariantCulture));
Output:
10
00
AM