با چه روشی می توان کنترل calender در asp.net را به یک تقوییم شمسی تبدیل گرد که ماه ها و روز به به صورت شمسی نمایش دهد
Printable View
با چه روشی می توان کنترل calender در asp.net را به یک تقوییم شمسی تبدیل گرد که ماه ها و روز به به صورت شمسی نمایش دهد
بدون شرح!
using System.Globalization;
DateTime dt = DateTime.Now;
PersianCalendar PC = new PersianCalendar();
string Date = PC.GetYear(dt).ToString() + "/" + PC.GetMonth(dt).ToString() + "/" + PC.GetDayOfMonth(dt).ToString();
دوست عزیز من می خوام کنترل calender در asp.net را تبدیل کنم . نمی خوام رشته تاریخ میلادی به شمسی تبدیل کنم .
ضمیمه 91078
می خواهم مانند سایت زیر باشه .
http://www.time.ir/
دوستان کسی نیست کمک کنه . راه حلی وجود نداره ؟
لطفا دوستان کمک کنند . من این پست رو دو هفته پیش ساخم و هنوز جوابی پیدا نکردم و حتی توی اینترنت هم جستجو انجام دادم اما کنترل مناسبی برای این کار پیدا نکردم .
منم همین کارو میخام انجام بدم
برا اینکار باید از کامپوننت های تقویم شمسی استفاده کرد
کامپوممتش دسنم برسه میزارم
واقعا بهش نیاز دارم ، کمک کنید
فایل گلوبال Global.asax
<%@ Application Language="C#" %><script RunAt="server">
void Application_BeginRequest(object sender, EventArgs e)
{
var persianCulture = new PersianCulture();
System.Threading.Thread.CurrentThread.CurrentCultu re = persianCulture;
System.Threading.Thread.CurrentThread.CurrentUICul ture = persianCulture;
}
</script>
کلاس PersianCulture.cs
using System;using System.Collections.Generic;
using System.Globalization;
using System.Reflection;
public class PersianCulture : CultureInfo
{
private readonly System.Globalization.Calendar cal;
private readonly System.Globalization.Calendar[] optionals;
/// <param name="cultureName">fa-IR</param>
/// <param name="useUserOverride">true</param>
public PersianCulture() : this("fa-IR", true) { }
public PersianCulture(string cultureName, bool useUserOverride)
: base(cultureName, useUserOverride)
{
//Temporary Value for cal.
cal = base.OptionalCalendars[0];
//populating new list of optional calendars.
var optionalCalendars = new List<System.Globalization.Calendar>();
optionalCalendars.AddRange(base.OptionalCalendars) ;
optionalCalendars.Insert(0, new PersianCalendar());
Type formatType = typeof(DateTimeFormatInfo);
Type calendarType = typeof(System.Globalization.Calendar);
PropertyInfo idProperty = calendarType.GetProperty("ID", BindingFlags.Instance | BindingFlags.NonPublic);
FieldInfo optionalCalendarfield = formatType.GetField("optionalCalendars",
BindingFlags.Instance | BindingFlags.NonPublic);
//populating new list of optional calendar ids
var newOptionalCalendarIDs = new Int32[optionalCalendars.Count];
for (int i = 0; i < newOptionalCalendarIDs.Length; i++)
newOptionalCalendarIDs[i] = (Int32)idProperty.GetValue(optionalCalendars[i], null);
optionalCalendarfield.SetValue(DateTimeFormat, newOptionalCalendarIDs);
optionals = optionalCalendars.ToArray();
cal = optionals[0];
DateTimeFormat.Calendar = optionals[0];
DateTimeFormat.MonthNames = new[] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
DateTimeFormat.MonthGenitiveNames = new[] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
DateTimeFormat.AbbreviatedMonthNames = new[] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
DateTimeFormat.AbbreviatedMonthGenitiveNames = new[] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" };
DateTimeFormat.AbbreviatedDayNames = new string[] { "ی", "د", "س", "چ", "پ", "ج", "ش" };
DateTimeFormat.ShortestDayNames = new string[] { "ی", "د", "س", "چ", "پ", "ج", "ش" };
DateTimeFormat.DayNames = new string[] { "یکشنبه", "دوشنبه", "ﺳﻪشنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه" };
DateTimeFormat.AMDesignator = "ق.ظ";
DateTimeFormat.PMDesignator = "ب.ظ";
/*
DateTimeFormat.ShortDatePattern = "yyyy/MM/dd";
DateTimeFormat.LongDatePattern = "yyyy/MM/dd";
DateTimeFormat.SetAllDateTimePatterns(new[] {"yyyy/MM/dd"}, 'd');
DateTimeFormat.SetAllDateTimePatterns(new[] {"dddd, dd MMMM yyyy"}, 'D');
DateTimeFormat.SetAllDateTimePatterns(new[] {"yyyy MMMM"}, 'y');
DateTimeFormat.SetAllDateTimePatterns(new[] {"yyyy MMMM"}, 'Y');
*/
}
public override System.Globalization.Calendar Calendar
{
get { return cal; }
}
public override System.Globalization.Calendar[] OptionalCalendars
{
get { return optionals; }
}
}
کلندر
<asp:Calendar ID="Calendar1" runat="server" BackColor="#FFFFCC" BorderColor="#FFCC66" BorderWidth="1px" DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#663399" Height="200px" ShowGridLines="True" Width="220px">
<DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" />
<NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" />
<TodayDayStyle BackColor="#FFCC66" ForeColor="White" />
</asp:Calendar>
<hr />
<asp:Calendar ID="Calendar2" runat="server" BackColor="White" BorderColor="White"
BorderWidth="1px" Font-Names="Verdana" Font-Size="9pt" ForeColor="Black" Height="190px"
NextPrevFormat="FullMonth" Width="350px">
<DayHeaderStyle Font-Bold="True" Font-Size="8pt" />
<NextPrevStyle Font-Bold="True" Font-Size="8pt" ForeColor="#333333" VerticalAlign="Bottom" />
<OtherMonthDayStyle ForeColor="#999999" />
<SelectedDayStyle BackColor="#333399" ForeColor="White" />
<TitleStyle BackColor="White" BorderColor="Black" BorderWidth="4px" Font-Bold="True"
Font-Size="12pt" ForeColor="#333399" />
<TodayDayStyle BackColor="#CCCCCC" />
</asp:Calendar>
سلام
برای winForm تو سی شارپ دقیقا چکار باید کرد؟
تو یه تاپیک همین کد هارو آورده ولی نمیتونم فارسیش کنم؟
ببین ازین چیزی میتونی دربیاری که بدردت بخوره
http://www.zamanha.com/[/QUOTE]
www.zamanha.com
یا
http://www.zamanha.ir/[/QUOTE]
www.zamanha.ir
البته یه پلاگین js هم هست مال keit wood یا یه همچین چیزی ممکنه بدردت بخوره یه پلاگین js ایرانی هم دیدم چند وقت پیش
سلام
بهتره از تقویم جلالی استفاده کنید » http://www.radcom.ir/fa/products/jalalicalendar-%D8%AA%D9%82%D9%88%DB%8C%D9%85-%D8%AC%D9%84%D8%A7%D9%84%DB%8C-%D8%B1%D8%A7%D8%AF%DA%A9%D8%A7%D9%85