نمايش پست تنها
قديمي July 25th, 2006, 21:16   #72
alibeirami
Senior Member
 
تاريخ عضويت: Mar 2006
محل سكونت: تهرانپارس
ارسالها: 148
تشکر: 57
تشکر از ايشان: 301 بار در 96 پست
alibeirami (سطح 1)alibeirami (سطح 1)alibeirami (سطح 1)alibeirami (سطح 1)
ارسال پيغام بوسیله Yahoo به alibeirami
0

نقل قول:
نوشته اصلي بوسيله Mehdi..4X
سلام خدمت تمامي دوستان سرمايه دار

من دنبال يه برنامه هستم كه هنوز نتونستم پيداش كنم

شرح برنامه مورد نظر:
من يه برناممه اي ميخوام كه تاريخ ميلادي رو به تاريخ شمسي برگردونه و برعكسش

البته تو سايت http://www.persianforum.net فكر كنم يه همچين چيزي گذاشته بود ولي من موفق نشدم تو اين سايت ثبت نام كنم.(انشالله كه شما بتونين )

تو سايتاي خارجكي هم گذاشته بودن ولي به جاي تاريخ شمسي تاريخ قمري رو داشت.

خلاصه هركس آدرس همچين برنامه اي رو داره بده. من خودم دسشتو مي بوسم.
سلام آقا مهدی .
این یه کلاس #C که خودم نوشتم البته الگوریتمش ماله یکی دیگست ببین بدردت میخوره خواستی با C هم فکر کنم داشته باشمش.
PHP Code:
public  struct ShamsiDate
    
{    
        public 
int iYear;
        public 
int iMonth;
        public 
int iDay;
    }
    public 
struct GregorianDate
    
{
        public 
int iYear;
        public 
int iMonth;
        public 
int iDay;
    }
    public class 
Shamsi
    
{
        private 
Shamsi(){}

        private static 
int[] ShamsiMonthsLong = {0,31,31,31,31,31,31,31,30,30,30,30,30,29};
            
        public static 
ShamsiDate Today
        
{
            
get
            
{                
                return 
Shamsi.GregorianToShamsi(DateTime.Now.Year,
                    
DateTime.Now.Month,DateTime.Now.Day);
            }
        }

        public static 
string TodayString
        
{
            
get
            
{
                
DateTime dt DateTime.Now;
                
ShamsiDate sh Shamsi.GregorianToShamsi(dt.Year,dt.Month,dt.Day);
                return (
sh.iYear.ToString() + "/" sh.iMonth.ToString("00") + "/" 
                    
sh.iDay.ToString("00"));
            }
        }
        public static 
string CurrentTime
        
{
            
get
            
{
                return 
DateTime.Now.Hour.ToString("00"
                    + 
":" DateTime.Now.Minute.ToString("00")+":"
                    
+DateTime.Now.Second.ToString("00");
            }
        }

        public static 
string[] ShamsiMonths = {" ","فروردين","ارديبهشت","خرداد","تير",
                                                  
"مرداد","شهريور","مهر","آبان","آذر","دي","بهمن","اسفند"};
        public static 
ShamsiDate GregorianToShamsi(int iGregorianYear,int iGregorianMonth
            
,int iGregorianDay)
        {
            
int  shamsiDayshamsiMonthshamsiYear;
            
int  dayCount,farvardinDayDiff,deyDayDiff ;
            
int[]  sumDayGregorianMonth = {0,31,59,90,120,151,181,212,243,273,304,334};
            
int[]  sumDayGregorianMonthLeap= {0,31,60,91,121,152,182,213,244,274,305,335};
            
ShamsiDate  shamsidate;
    
            
farvardinDayDiff=79;
    
            if (
GregorianIsLeap(iGregorianYear))
            {
                
dayCount sumDayGregorianMonthLeap[iGregorianMonth-1] + iGregorianDay
            }
            else
            {
                
dayCount sumDayGregorianMonth[iGregorianMonth-1] + iGregorianDay
            }
            if((
GregorianIsLeap(iGregorianYear 1)))
            {
                
deyDayDiff 11;
            }
            else
            {
                
deyDayDiff 10;
            }    
            if (
dayCount farvardinDayDiff
            {
                
dayCount dayCount farvardinDayDiff;
                if (
dayCount <= 186)
                {
                    switch (
dayCount%31)
                    {
                        case 
0:
                            
shamsiMonth dayCount 31;
                            
shamsiDay 31;
                            break;
                        default:
                            
shamsiMonth = (dayCount 31) + 1
                            
shamsiDay = (dayCount%31);
                            break;
                    }
                    
shamsiYear iGregorianYear 621;
                }
                else 
                {
                    
dayCount dayCount 186;
                    switch (
dayCount%30)
                    {
                        case 
0:
                            
shamsiMonth = (dayCount 30) + 6;
                            
shamsiDay 30;
                            break;
                        default:
                            
shamsiMonth = (dayCount 30) + 7;
                            
shamsiDay = (dayCount%30);
                            break;
                    }
                    
shamsiYear iGregorianYear 621;
                }
            }
            else
            {
                
dayCount dayCount deyDayDiff;
        
                switch (
dayCount%30)
                {
                    case 
:
                        
shamsiMonth = (dayCount 30) + 9;
                        
shamsiDay 30;
                        break;
                    default:
                        
shamsiMonth = (dayCount 30) + 10;
                        
shamsiDay = (dayCount%30);
                        break;
                }
                
shamsiYear iGregorianYear 622;
        
            }
            
shamsidate.iYear shamsiYear;
            
shamsidate.iMonth shamsiMonth;
            
shamsidate.iDay shamsiDay;
        
            return 
shamsidate ;
        }

        public static 
ShamsiDate GregorianToShamsi(DateTime dt)
        {
            return 
GregorianToShamsi(dt.Year,dt.Month,dt.Day);
        }

        
        public static 
bool GregorianIsLeap(int GregorianYear)
        {
            if(((
GregorianYear 100)!= && (GregorianYear 4) == 0
                || ((
GregorianYear 100)== && (GregorianYear 400) == 0))
                return 
true;
            else
                return 
false;
        }
        public 
GregorianDate ShamsiToGregorian(string strCalendar)
        {
            
string[] str strCalendar.Split(new char[]{'/'});
            return 
ShamsiToGregorian(Convert.ToInt32(str[0]),Convert.ToInt32(str[1]),
                
Convert.ToInt32(str[2]));
        }
        public static 
GregorianDate ShamsiToGregorian(int ShamsiYear,
            
int ShamsiDay,int ShamsiMonth)
        { 
    
            
GregorianDate    gregorianDatefarvardin1st;
            
int           marchDayDiffremainDay=0;
            
int           dayCountiGregorianYeari


            
int[] iGregorianMonth  =  {30,31,30,31,31,30,31,30,31,31,28,31}; 
            
iGregorianYear ShamsiYear 621;
            if(
GregorianIsLeap(iGregorianYear)) 
            {

                
farvardin1st.iMonth 3;
                
farvardin1st.iDay 20;
                
marchDayDiff 12;
            }
            else 
            { 

                
farvardin1st.iMonth 3;
                
farvardin1st.iDay =21;
                
marchDayDiff 11;
            } 
            if(
GregorianIsLeap(iGregorianYear+1))
            {
                
iGregorianMonth[10] = iGregorianMonth[10] + 1;
            }
            if((
ShamsiMonth>=1)&&( ShamsiMonth<=6))
                
dayCount = ((ShamsiMonth-1) * 31) + ShamsiDay;
            else
                
dayCount =(31) + ((ShamsiMonth 7) * 30) + ShamsiDay

            if (
dayCount <= marchDayDiff
            {
                
gregorianDate.iDay dayCount + (31 marchDayDiff);
                
gregorianDate.iMonth 3;
                
gregorianDate.iYear=iGregorianYear;
            }
            else
                
remainDay dayCount marchDayDiff

            
0;

            while ((
remainDay iGregorianMonth[i]))
            { 
                
remainDay remainDay iGregorianMonth[i];
                
i++;
            } 
            
gregorianDate.iDay remainDay;

            if (
8
            { 
                
gregorianDate.iMonth 8
                
gregorianDate.iYear =  iGregorianYear 1;
            }
            else
            {
                
gregorianDate.iMonth 4;
                
gregorianDate.iYear =  iGregorianYear;
            } 
            return 
gregorianDate;    
        }        
    } 
__________________
The market will quite naturally make you face what is inside of you on a
moment-to-moment basis. What is inside of you could be confidence or fear, a
perception of opportunity or loss, restraint or uncontrollable greed, objectivity or
illusion. The market just reflects these mental conditions, it does not create them
.
alibeirami آفلاين است