PDA

View Full Version : تبدیل تقویم میلادی asp.net به تقوییم شمسی



ramin149
شنبه 21 مرداد 1391, 09:06 صبح
با چه روشی می توان کنترل calender در asp.net را به یک تقوییم شمسی تبدیل گرد که ماه ها و روز به به صورت شمسی نمایش دهد

mohammad_kazem
شنبه 21 مرداد 1391, 09:58 صبح
بدون شرح!



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();

ramin149
شنبه 21 مرداد 1391, 11:34 صبح
بدون شرح!



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/

ramin149
یک شنبه 22 مرداد 1391, 12:48 عصر
دوستان کسی نیست کمک کنه . راه حلی وجود نداره ؟

ramin149
چهارشنبه 08 شهریور 1391, 19:54 عصر
لطفا دوستان کمک کنند . من این پست رو دو هفته پیش ساخم و هنوز جوابی پیدا نکردم و حتی توی اینترنت هم جستجو انجام دادم اما کنترل مناسبی برای این کار پیدا نکردم .

milad.biroonvand
شنبه 25 آبان 1392, 21:34 عصر
منم همین کارو میخام انجام بدم

samira_tatar
سه شنبه 28 آبان 1392, 09:10 صبح
برا اینکار باید از کامپوننت های تقویم شمسی استفاده کرد
کامپوممتش دسنم برسه میزارم

beitsaeid
جمعه 10 مرداد 1393, 15:29 عصر
واقعا بهش نیاز دارم ، کمک کنید

fakhravari
جمعه 10 مرداد 1393, 22:25 عصر
فایل گلوبال 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>

nakhoda_smuch
یک شنبه 18 بهمن 1394, 13:31 عصر
سلام
برای winForm تو سی شارپ دقیقا چکار باید کرد؟
تو یه تاپیک همین کد هارو آورده ولی نمیتونم فارسیش کنم؟

fakhravari
چهارشنبه 21 بهمن 1394, 10:17 صبح
سلام
برای winForm تو سی شارپ دقیقا چکار باید کرد؟
تو یه تاپیک همین کد هارو آورده ولی نمیتونم فارسیش کنم؟

تالار win form سوال کنید

hadimajidi
دوشنبه 25 بهمن 1395, 02:42 صبح
دوست عزیز من می خوام کنترل calender در asp.net را تبدیل کنم . نمی خوام رشته تاریخ میلادی به شمسی تبدیل کنم .
91078

می خواهم مانند سایت زیر باشه .
http://www.time.ir/


ببین ازین چیزی میتونی دربیاری که بدردت بخوره
http://www.zamanha.com/ (http://www.time.ir/)[/QUOTE]
www.zamanha.com (http://www.zamanha.com)
یا
http://www.zamanha.ir/ (http://www.time.ir/)[/QUOTE]
www.zamanha.ir (http://www.zamanha.ir)
البته یه پلاگین js هم هست مال keit wood یا یه همچین چیزی ممکنه بدردت بخوره یه پلاگین js ایرانی هم دیدم چند وقت پیش

Tekyegah
شنبه 30 بهمن 1395, 22:16 عصر
سلام
بهتره از تقویم جلالی استفاده کنید » 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 (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)%D8%A7%D8%AF% DA%A9%D8%A7%D9%85