PDA

View Full Version : تبدیل تاریخ میلادی به شمسی



mariakhanom
یک شنبه 06 اسفند 1391, 00:54 صبح
سلام
یه dll تبدیل تاریخ میلادی به شمسی خوب میخوام .خیلی سرچ کردم ولی هر چه میگردم بیشتر گیج میشم.نمیدونم کدومو استفاده کنم.

malloc
یک شنبه 06 اسفند 1391, 04:58 صبح
اگه میخوای تاریخ و تو دیتابیس تبدیل به شمسی کنی و اینا بهترین راحلش اینه که یه تابع تو SQL بنویسی که اینکار و برات بکنه.

والا که خوب DLL خاصی نداره یه تابع هست که اینکارو میکنه که بصورته زیره :

public string toJalaliDate(DateTime n)
{
PersianCalendar pc = new PersianCalendar();
string y = pc.GetYear(n).ToString();
string d = (pc.GetDayOfMonth(n) > 9 ? pc.GetDayOfMonth(n).ToString() : "0" + pc.GetDayOfMonth(n).ToString());
string m = (pc.GetMonth(n) > 9 ? pc.GetMonth(n).ToString() : "0" + pc.GetMonth(n).ToString());
return (y + "/" + m + "/" + d);
}

mariakhanom
یک شنبه 06 اسفند 1391, 17:40 عصر
منظورم ی کامپوننتی که بشه تاریخ میلادی رو به صورت شمسی مثلا به این صورت :
یکشنبه 06 اسفند نشون داد

morteza_mokhtari
یک شنبه 06 اسفند 1391, 22:13 عصر
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for mokhtariPersianCalender
/// </summary>
public class mokhtariPersianCalender
{
public string PersianDate(DateTime date, bool shortdate)
{
System.Globalization.PersianCalendar oPersianC = new System.Globalization.PersianCalendar();
string Day, Month, Year, Date = "",time = "";

string DayOfWeek = oPersianC.GetDayOfWeek(date).ToString(); ;
Year = oPersianC.GetYear(date).ToString();
Month = oPersianC.GetMonth(date).ToString();
Day = oPersianC.GetDayOfMonth(date).ToString();
time = (oPersianC.GetHour(date).ToString() + ":" + oPersianC.GetMinute(date).ToString() + ":" + oPersianC.GetSecond(date).ToString());
if (!shortdate)
{
switch (DayOfWeek)
{
case "Sunday": DayOfWeek = "یکشنبه";
break;
case "Monday": DayOfWeek = "دوشنبه";
break;
case "Tuesday": DayOfWeek = "سه شنبه";
break;
case "Wednesday": DayOfWeek = "چهارشنبه";
break;
case "Thursday": DayOfWeek = "پنج شنبه";
break;
case "Friday": DayOfWeek = "جمعه";
break;
case "Saturday": DayOfWeek = "شنبه";
break;

default:
break;
}
switch (Month)
{
case "1": Month = "فروردین";
break;
case "2": Month = "اردیبهشت";
break;
case "3": Month = "خرداد";
break;
case "4": Month = "تیر";
break;
case "5": Month = "مرداد";
break;
case "6": Month = "شهریور";
break;
case "7": Month = "مهر";
break;
case "8": Month = "آبان";
break;
case "9": Month = "آذر";
break;
case "10": Month = "دی";
break;
case "11": Month = "بهمن";
break;
case "12": Month = "اسفند";
break;
default:
break;
}
Date = DayOfWeek + " " + Day + " " + Month + " سال " + Year;
}
else
{
Date = Day + "/" + Month + "/" + Year;
}

return Date;

}

public static string Persiantime(string d)
{
DateTime date = Convert.ToDateTime(d);
System.Globalization.PersianCalendar oPersianC = new System.Globalization.PersianCalendar();
string time = "";
string hour = oPersianC.GetHour(date) > 9 ? oPersianC.GetHour(date).ToString(): "0"+oPersianC.GetHour(date).ToString();
string minite = oPersianC.GetMinute(date) > 9 ? oPersianC.GetMinute(date).ToString() : "0" + oPersianC.GetMinute(date).ToString();
string second = oPersianC.GetSecond(date) > 9 ? oPersianC.GetSecond(date).ToString() : "0" + oPersianC.GetSecond(date).ToString();

time = hour + ":" + minite + ":" + second;
return time;

}

}

mariakhanom
یک شنبه 06 اسفند 1391, 23:48 عصر
آقا مرتضی ممنونودست درد نکنه