Я использую персидскую каландр на моем приложении, я использую этот код:дисплея персидское время в формате чч: мм
using System.Globalization;
[...]
PersianCalendar pc = new PersianCalendar();
DateTime thistime = DateTime.Now;
string persiantimenow = pc.GetHour(thistime) + ":" + pc.GetMinute(thistime);
Console.WriteLine(persiantimenow);
Это 12:35 я сейчас, поэтому выход: 0:33, но я хочу, чтобы это было 00:33
Я попытался с помощью:
string persiantimenow = pc.GetHour(thistime.ToString("hh")) + ":" + pc.GetMinute(thistime.ToString("mm"));
это дало мне ошибку, поэтому я использовал следующий, но и дал такую же ошибку
string thistime_Hour = thistime.ToString("HH");
string thistime_minute = thistime.ToString("MM");
string persiantimenow = pc.GetHour(thistime_Hour) + ":" + pc.GetMinut(thistime_minute);
Но я получаю ошибки:
Argument 1: cannot convert from 'string' to 'System.DateTime'
EDIT 1 [я понял хитрое решение]
if (pc.GetHour(thistime) < 12)
{
string persiantimenow = "0" + pc.GetHour(thistime) + ":" + pc.GetMinute(thistime);
Console.WriteLine(persiantimenow);
}
Это не то, что мне нужно, но это решает проблему.
EDIT 2 [L.B решил это для меня] Вот решение:
string persiantimenow = pc.GetHour(thistime).ToString("00") + ":" + pc.GetMinute(thistime).ToString("00");
Где код PersianCalender? мы не можем проверить идеи, если мы не можем проверить код. – MrFox
Вам необходимо импортировать: using System.Globalization; – BOSS
'string persiantimenow = pc.GetHour (thistime) .ToString (" 00 ") +": "+ pc.GetMinute (thistime) .ToString (" 00 ")' –