PDA

View Full Version : سوال: dll تبدیل تاریخها - فوری



m-etemadi
شنبه 26 آذر 1390, 08:21 صبح
با عرض سلام و احترام
دوستان یک dll نوشتم برای تبدیل تاریخ ها به همدیگر ولی در تبدیل قمری به شمسی و بلعکس دچار مشکل شدم یعنی error می گیره.
لطفا راهنمایی می فرمایید کجای dll را اشتباه نوشتم

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
using System.Data;
namespace PersianHejriMiladi
{
public class PHM
{
public string MiladiToShamsi(string miladiDate)
{
int year = int.Parse(miladiDate.Substring(6,4));
int month = int.Parse(miladiDate.Substring(3,2));
int day = int.Parse(miladiDate.Substring(0,2));
DateTime dt = new DateTime(year, month, day);
PersianCalendar pc = new PersianCalendar();
int Y = pc.GetYear(dt);
int M = pc.GetMonth(dt);
int D = pc.GetDayOfMonth(dt);
string Shamsidate = Y.ToString() + "/" + M.ToString() + "/" + D.ToString();
return Shamsidate;
}
public string ShamsiToMiladi(string shamsiDate)
{
PersianCalendar pc = new PersianCalendar();
int year = int.Parse(shamsiDate.Substring(6,4));
int month = int.Parse(shamsiDate.Substring(3,2));
int day = int.Parse(shamsiDate.Substring(0,2));
DateTime dt = pc.ToDateTime(year, month, day, 0, 0, 0, 0);
string miladiDate = dt.ToShortDateString();
return miladiDate;
}

public string MiladiToHejri(string miladiDate)
{
int year = int.Parse(miladiDate.Substring(6,4));
int month = int.Parse(miladiDate.Substring(3,2));
int day = int.Parse(miladiDate.Substring(0,2));
DateTime dt = new DateTime(year, month, day);
HijriCalendar hc = new HijriCalendar();
int SAL = hc.GetYear(dt);
int MAH = hc.GetMonth(dt);
int ROZ = hc.GetDayOfMonth(dt);
string hDate = SAL.ToString() + "/" + MAH.ToString() + "/" + ROZ.ToString();
return hDate;
}
public string HejriToMiladi(string hejriDate)
{
HijriCalendar hc = new HijriCalendar();
int year = int.Parse(hejriDate.Substring(6,4));
int month = int.Parse(hejriDate.Substring(3,2));
int day = int.Parse(hejriDate.Substring(0,2));
DateTime dt = hc.ToDateTime(year, month, day, 0, 0, 0, 0);
string miladiDate = dt.ToShortDateString();
return miladiDate;
}
public string shamsiToHejri(string shamsiDate)
{
string miladi = ShamsiToMiladi(shamsiDate);
string hejri = MiladiToHejri(miladi);
return hejri;
}
public string HejriToshamsi(string hejriDate)
{
string miladi = HejriToMiladi(hejriDate);
string shamsi = MiladiToShamsi(miladi);
return shamsi;
}
}
}

ma.rad
شنبه 26 آذر 1390, 11:23 صبح
کجاش خطا می گیری ؟چه خطایی؟

m-etemadi
شنبه 26 آذر 1390, 12:02 عصر
سلام
موقعی که از dll در برنامه استفاده می کنم تاریخ شمسی به هجری و بلعکس را انجام نمی ده 79309

ma.rad
شنبه 26 آذر 1390, 12:59 عصر
شما چرا خدتون رو اذیت می کنید از توابع شمسی وقمری خود .net استفاده کنید : HijriCalendar-PersianCalendar

m-etemadi
شنبه 26 آذر 1390, 14:13 عصر
دوست عزیز ، این توابعی که شما فرمودید میلادی را به شمسی و میلادی رو به قمری و یا برعکس تبدیل می کنه من میخواستم با این dll شمسی را به قمری و قمری را به شمسی تبدیل کنم
تشکر از پیگیری که می کنید

shahin60
شنبه 26 آذر 1390, 15:06 عصر
چرا این کا رو میکنه خیلی هم سادس.
اینا رو نگاه کن:
http://barnamenevis.org/showthread.php?300343-برنامه-مبدل-تاریخ-شمسی-هبرو-میلادی-و-قمری&highlight=%D9%87%D8%AC%D8%B1%DB%8C+%D9%82%D9%85%D8 %B1%DB%8C
http://barnamenevis.org/showthread.php?280928-چگونگی-محاسبه-تاریخ-هجری-قمری&highlight=%D9%87%D8%AC%D8%B1%DB%8C+%D9%82%D9%85%D8 %B1%DB%8C
http://barnamenevis.org/showthread.php?273226-تقویم-هجری&highlight=%D9%87%D8%AC%D8%B1%DB%8C+%D9%82%D9%85%D8 %B1%DB%8C



شما خواستید تشکر کنید دکمه پایین رو بزنید

m-etemadi
یک شنبه 27 آذر 1390, 09:27 صبح
سلام
ممنون دوستان
ولی من می خواستم بدونم کجای این کدی که نوشته شده مشکل داره و آنرا رفع کنم