我想在支持的Umbraco中将日期时间格式从英语更改为Farsi。 我在web.config中应用此设置。但是没有用。 (日期选择器(在属性选项卡中发布在&删除时)
<globalization enableClientBasedCulture="true" requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="fa" culture="fa"/>
我该怎么做?
答案 0 :(得分:2)
根据我使用的语言,日期格式没有变化。
我在umbraco_client \ DateTimePicker \ umbDateTimePicker.js中看到硬编码的日期格式 根据需要进行更改,然后更新客户端依赖关系:
我还在umbraco.controls中看到了硬编码的日期时间格式字符串:umbraco.uicontrols.DatePicker.DateTimePicker.DateTime setter。
完成各种Umbraco 4.x版本。
答案 1 :(得分:1)
Umbraco后端的语言由登录的用户决定。截至目前,Umbraco仅支持开箱即用的以下语言:
根据为特定用户选择的语言,日期将以适合该文化的格式显示。
此论坛帖子Farsi and rtl support....提供了有关如何添加新翻译的一些信息,如果您感兴趣的话。
答案 2 :(得分:0)
在我搜索时,不幸的是umbraco不支持Persian
日期时间格式,但您可以研究FormatDateTime并将外观更改为yyyy/mm/dd
格式,但是像{{{ 1}} فروردین
您应该创建自己的控件或使用其他人员,例如PersianDate® (PD)
如果代码要开发自定义控件,您可以学习PersianCalendar Class
这个微小的解决方案:^)
如果您的日期是格里高利日期,那么首先您必须将其转换为Jalali日期,如下所示:
اردیبهشت
但如果您的日期已经是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);
现在,如果你的字符串中包含一个像“1390/12/10”这样的Jalali日期,并且你想获得它的日期名称,那将会有点棘手。
string print = string.Format("{0:0000}/{1:00}/{2:00}", date.Year, date.Month, date.Day);
首先你应该将它转换为格里高利日,然后获得日名。 但不是月份名称:
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 "";
}
如果我能为您提供更多有用的帖子,我将不胜感激,请让我知道!