PDA

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



atousamehr
یک شنبه 30 بهمن 1390, 13:53 عصر
سلام دوستان
من میخوام تاریخ میلادی که به این صورت تو برنامه ام نوشتم
Now.Year.ToString + "/ " + Now.Month.ToString + "/ " + Now.Day.ToString

رو با یه جمع و تفریق به شمسی تبدیل کنم

mohammad diba
یک شنبه 30 بهمن 1390, 14:09 عصر
سلام
دوست عزیز لازم به جمع و تفریق نسیت خود دات نت امکانات رو داره بعدش هم از dll استفاده کن

alonemm
یک شنبه 30 بهمن 1390, 14:56 عصر
سلام دوستان
من میخوام تاریخ میلادی که به این صورت تو برنامه ام نوشتم
Now.Year.ToString + "/ " + Now.Month.ToString + "/ " + Now.Day.ToString

رو با یه جمع و تفریق به شمسی تبدیل کنم

باسلام:
به کد زیر توجه کنید:

// This example demonstrates the members of the PersianCalendar class.

using System;
using System.Globalization;

class Sample
{
public static void Main()
{
//--------------------------------------------------------------------------------
// Get today's date.
//--------------------------------------------------------------------------------
Console.WriteLine("\n................. Today ...........................\n");
PersianCalendar jc = new PersianCalendar();
DateTime thisDate = DateTime.Now;

// Display the current date using the Gregorian and Persian calendars.
Console.WriteLine("Today is:");
Console.WriteLine(" {0:dddd}, {0} in the Gregorian calendar.", thisDate);
Console.WriteLine(" {0}, {1}/{2}/{3} {4}:{5}:{6} in the Persian calendar.",
jc.GetDayOfWeek(thisDate),
jc.GetMonth(thisDate),
jc.GetDayOfMonth(thisDate),
jc.GetYear(thisDate),
jc.GetHour(thisDate),
jc.GetMinute(thisDate),
jc.GetSecond(thisDate));
//--------------------------------------------------------------------------------
// Fields
//--------------------------------------------------------------------------------
Console.WriteLine("\n............... Fields .............................\n");
Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra);
//--------------------------------------------------------------------------------
// Properties
//--------------------------------------------------------------------------------
Console.WriteLine("\n............... Properties .........................\n");
Console.Write("Eras:");
foreach (int era in jc.Eras)
{
Console.WriteLine(" era = {0}", era);
}
//--------------------------------------------------------------------------------
Console.WriteLine("\nGregorian Date Range Supported by the Persian Calendar:");
Console.WriteLine(" From {0:G}", jc.MinSupportedDateTime);
Console.WriteLine(" To {0:G}", jc.MaxSupportedDateTime);
//--------------------------------------------------------------------------------
Console.WriteLine("\nTwoDigitYearMax = {0}", jc.TwoDigitYearMax);
//--------------------------------------------------------------------------------
// Methods
//--------------------------------------------------------------------------------
Console.WriteLine("\n............ Selected Methods .......................\n");

//--------------------------------------------------------------------------------
Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
//--------------------------------------------------------------------------------
Console.WriteLine("GetDaysInMonth: days = {0}",
jc.GetDaysInMonth( thisDate.Year, thisDate.Month,
PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("GetDaysInYear: days = {0}",
jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("GetLeapMonth: leap month (if any) = {0}",
jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
//-------------------------------------------------------------
Console.WriteLine("GetMonthsInYear: months in a year = {0}",
jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("IsLeapDay: This is a leap day = {0}",
jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day,
PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("IsLeapMonth: This is a leap month = {0}",
jc.IsLeapMonth(thisDate.Year, thisDate.Month,
PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}",
jc.IsLeapYear(1370, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------

// Get the 4-digit year for a year whose last two digits are 99. The 4-digit year
// depends on the current value of the TwoDigitYearMax property.

Console.WriteLine("ToFourDigitYear:");
Console.WriteLine(" If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
jc.TwoDigitYearMax = thisDate.Year;
Console.WriteLine(" If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
}
}
/*
The example produces the following results:

................. Today ...........................

Today is Wednesday, 6/14/2006 11:31:13 AM

............... Fields .............................

PersianEra = 1

............... Properties .........................

Eras: era = 1
MaxSupportedDateTime = 12/31/9999 11:59:59 PM
MinSupportedDateTime = 3/21/0622 12:00:00 AM
TwoDigitYearMax = 1410

................ Methods ...........................

AddMonths: thisDate + 6 months = 12/15/2006 11:31:13 AM
thisDate - 6 months = 12/15/2005 11:31:13 AM
AddYears: thisDate + 5 years = 6/14/2011 11:31:13 AM
thisDate - 3 years = 6/14/2003 11:31:13 AM
GetDayOfMonth: month = 24
GetDayOfWeek: day = Wednesday
GetDayOfYear: day = 86
GetDaysInMonth: days = 31
GetDaysInYear: days = 366
GetEra: era = 1
GetLeapMonth: leap month (if any) = 0
GetMonth: month = 3
GetMonthsInYear: months in a year = 12
GetYear: year = 1385
IsLeapDay: This is a leap day = False
IsLeapMonth: This is a leap month = False
IsLeapYear: 1370 is a leap year = True
ToDateTime:
Gregorian calendar: 6/10/2006 8:30:15 PM
Persian calendar: 3/20/1385 8:30:15 PM
ToFourDigitYear:
If TwoDigitYearMax = 1410, ToFourDigitYear(99) = 1399
If TwoDigitYearMax = 2006, ToFourDigitYear(99) = 1999

*/