当我搜索时,不幸的是 umbraco 不支持 Persian 日期时间格式,但您可以研究 FormatDateTime 并将外观更改为像 yyyy/mm/dd 这样的格式,但是对于像 فروردین اردیبهشت 这样的月份的全名,您应该创建您自己的控件或使用其他人员,例如PersianDate® (PD)
如果是开发自定义控件的代码,您可以学习PersianCalendar Class
还有这个微小的解决方案:^)
如果您的日期是公历日期,那么首先您必须将其转换为 Jalali 日期,如下所示:
PersianCalendar jc = new PersianCalendar();
DateTime date = new DateTime(jc.GetYear(d), jc.GetMonth(d), jc.GetDayOfMonth(d));
string print = string.Format("{0:0000}/{1:00}/{2:00}", date.Year, date.Month, date.Day);
但如果您的日期已经是 Jalali 日期,那么只需使用:
string print = string.Format("{0:0000}/{1:00}/{2:00}", date.Year, date.Month, date.Day);
现在,如果您有一个包含 Jalali 日期(例如“1390/12/10”)的字符串,并且您想要获取它的日期名称,那就有点棘手了。
public static string GetDayOfWeekName(this DateTime date)
{
PersianCalendar jc = new PersianCalendar();
DateTime d = jc.ToDateTime(date.Year, date.Month, date.Day, 0, 0, 0, 0, PersianCalendar.PersianEra);
switch (d.DayOfWeek)
{
case DayOfWeek.Saturday: return "شنبه";
case DayOfWeek.Sunday: return "يکشنبه";
case DayOfWeek.Monday: return "دوشنبه";
case DayOfWeek.Tuesday: return "سه شنبه";
case DayOfWeek.Wednesday: return "چهارشنبه";
case DayOfWeek.Thursday: return "پنجشنبه";
case DayOfWeek.Friday: return "جمعه";
default: return "";
}
首先您应该将其转换为公历日期,然后获取日期名称。
但不适用于月份名称:
public static string GetMonthName(this DateTime date)
{
switch (date.Month)
{
case 1: return "فررودين";
case 2: return "ارديبهشت";
case 3: return "خرداد";
case 4: return "تير";
case 5: return "مرداد";
case 6: return "شهريور";
case 7: return "مهر";
case 8: return "آبان";
case 9: return "آذر";
case 10: return "دي";
case 11: return "بهمن";
case 12: return "اسفند";
default: return "";
}
}
如果我能提供更多有用的帖子,我将不胜感激,请告诉我!