How do I get the AM/PM value from a DateTime?
The code in question is below:
public static string ChangePersianDate(DateTime dateTime)
{
System.Globalization.GregorianCalendar PC = new System.Globalization.GregorianCalendar();
PC.CalendarType = System.Globalization.GregorianCalendarTypes.USEnglish;
return
PC.GetYear(dateTime).ToString()
+ "/"
+ PC.GetMonth(dateTime).ToString()
+ "/"
+ PC.GetDayOfMonth(dateTime).ToString()
+ ""
+ PC.GetHour(dateTime).ToString()
+ ":"
+ PC.GetMinute(dateTime).ToString()
+ ":"
+ PC.GetSecond(dateTime).ToString()
+ " "
????????????????
}
how can I get the AM/PM from the dateTime
value?
How about:
dateTime.ToString("tt", CultureInfo.InvariantCulture);
string.Format("{0:hh:mm:ss tt}", DateTime.Now)
This should give you the string value of the time. tt should append the am/pm.
You can also look at the related topic:
How do you get the current time of day?
The DateTime
should always be internally in the "american" (Gregorian) calendar. So if you do
var str = dateTime.ToString(@"yyyy/MM/dd hh:mm:ss tt", new CultureInfo("en-US"));
you should get what you want in many less lines.