Мои datetime
в этом формате 2017-01-15T21:00-07:00
поэтому я разборе его как такДобавить AM/PM Для времени
string ADT = Convert.ToString(timestamp.DateOrTimestamp);
int index = ADT.IndexOf("T");
string FADT = (index > 0 ? ADT.Substring(0, index) : "");
DateTime dtFADT = DateTime.ParseExact(FADT, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
string ADT1 = ADT.Split('T', '-')[3];
Console.WriteLine("{0}: {1}", timestamp.Type, dtFADT.ToString("MM/dd/yyyy") + " " + String.Format("{0:h:mm t}", ADT1));
, который будет писать в консоль: Delivery: 01/15/2017 09:00:00
Почему делает то String.Format()
не добавить в AM/PM к моему времени?
'21: 00-07: 00' этот диапазон или что? Если '07' в секундах, то что означает последний' 00'? –
Проверьте это: http://stackoverflow.com/questions/7875259/how-do-i-get-the-am-pm-value-from-a-datetime , а также: http://stackoverflow.com/ Вопросы/13044603/convert-time-span-value-to-format-hhmm-am-pm-using-c-sharp –
Ваша 'DateTime' ** NOT ** в формате' 2017-01-15T21: 00- 07: 00'. Это строка. 'DateTime' делает ** NOT ** имеет формат - это просто номер. Только когда вы вызываете '.ToString (...)', что вы создаете 'string', который имеет формат. – Enigmativity