/ / Time (DateTime) Форматирайте условно Показване на минути - c #, дата, формат

Време (DateTime) Формат Условно Показване на минути - c #, дата, формат

Жасминът Плъгин на FullCalendar има чист формат за времето.

Ако това е времето 19:00, форматът се показва като 7 монети.

Ако това е времето 7:30, форматът се показва като 7: 30а.



Въпрос: Има ли начин да се използва стандартно форматиране, за да се постигне това с c # остри? Очевидно мога да създам логика, за да го направя сама, но се надявам, че има форматен низ, който ще го опрости.

т.е. (не работи):

MyDateTime.ToString("h{:mm}t");

Отговори:

3 за отговор № 1

Форматирането на низовете не е условно - няма начин да се определи условие в рамките на формат низ.

Ще трябва да използвате стандарт if и форматира съответно.

if(MyDateTime.Minutes == 0)
{
return MyDateTime.ToString("h");
}

return MyDateTime.ToString"h:mmt");

Или в един ред:

return MyDateTime.ToString((MyDateTime.Minutes == 0)?"h":"h:mmt");

1 за отговор № 2

Не, няма нищо подобно в рамките на вградения .NET формат за дата / час. Вие ще трябва да напишете кода сами.

(Не съм виждал нищо подобно за дати и часове в други библиотеки за дата / време, за да бъда честен. Видях условно форматиране за периоди, но това е друг въпрос. Единственото изключение е "частични секунди", които могат да бъдат изразени така, че те да бъдат премахнати - включително десетичната запетая - ако времето е цял брой секунди.)