using System;
namespace vahid
{
/// <summary>
/// clsPesianDate.
/// Converted to VC# by : Vahid_Nasiri@Yahoo.Com
/// </summary>
public class clsPersianDate
{
public clsPersianDate()
{
//
// TODO: Add constructor logic here (chi! bih!)
//
}
/// <summary>
/// GetShamsiDate.
/// Its name is so clear!
/// </summary>
public string GetSystemShamsiDate()
{
int Year = System.DateTime.Now.Year;
int Month = System.DateTime.Now.Month;
int Day = System.DateTime.Now.Day ;
return GetShamsiDate(Year, Month, Day);
}
/// <summary>
/// GetShamsiDate.
/// Converts the specified date to shamsi.
/// </summary>
public string GetShamsiDate(int Year,int Month,int Day)
{
int[] A ={0,10, 11, 9, 11, 10, 10, 9, 9, 9, 8, 9, 9};
int[] B ={0,30, 30, 29, 31, 31, 31, 31, 31, 31, 30, 30, 30};
int YY;
int MM;
int DD;
string CHm,CHd ;
// Get current Date values
YY = Year - 621;
if ((Year % 4 == 0) && (Month == 3) && (Day < 21))
{
A[3]++;
B[3]++;
}
MM = Month + 9;
DD = Day + A[Month];
if (DD > B[Month])
{
DD -= B[Month];
MM++;
}
if (MM > 12)
MM -= 12;
if (MM == 10 && DD > 10)
YY--;
if (MM == 11 || MM == 12)
YY--;
if (MM<10)
CHm = "0" + MM.ToString() ;
else
CHm = MM.ToString() ;
if (DD<10)
CHd = "0" + DD.ToString() ;
else
CHd = DD.ToString() ;
return YY.ToString() + '/' + CHm + '/' + CHd;
}
public string systemDayOfWeek()
{
string res="";
switch( System.DateTime.Now.DayOfWeek.ToString() )
{
case "Saturday" :
res = "شنبه";
break;
case "Sunday" :
res = "یک شنبه" ;
break;
case "Monday":
res = "دوشنبه";
break;
case "Tuesday":
res = "سه شنبه";
break;
case "Wednesday":
res = "چهار شنبه";
break;
case "Thursday":
res = "پنج شنبه";
break;
case "Friday":
res = "جمعه" ;
break;
}
return res ;
}
public string systemShamsiDatTime()
{
return
GetSystemShamsiDate() + " اکنون " +"\n"+
System.DateTime.Now.ToLongTimeString() +"\n"+
System.DateTime.Now.ToLongDateString() + " " +"\n"+
System.DateTime.Now.DayOfWeek + " "+
systemDayOfWeek() ;
}
}
}