PDA

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



javad3151
دوشنبه 27 آذر 1385, 22:09 عصر
سلام
من این تابع را نوشتم که بوسیله اون تاریخ میلادی را به شمسی تبدیل میکنم:


Function prdate(ByVal jl As String) As String
Dim jld As New Date
Dim prd As New Globalization.PersianCalendar
jld = jl
prdate = prd.GetYear(jl).ToString & "/" & prd.GetMonth(jl).ToString & "/" & prd.GetDayOfMonth(jl).ToString
Return prdate
End Function


چطور میشه یه تابع نوشت که تاریخ شمسی را به میلادی تبدیل کنه (با استفاده از کلاس های دات نت 2 )؟

violet
سه شنبه 28 آذر 1385, 20:55 عصر
ابتدا تاریخ شمسی رو به سال ، ماه و روز split کنید به عنوان مثال تاریخ 1385/9/28 سپس :




Dim Pyear AsInteger = 1385 ' Shamsi Year
Dim Pmonth AsInteger = 9 ' Shamsi Month
Dim Pday AsInteger = 28 ' Shamdi Day
Dim Mdate AsNew System.Globalization.PersianCalendar
Response.Write(Mdate.ToDateTime(Pyear, Pmonth, Pday, 1, 1, 1, 1, System.Globalization.GregorianCalendar.ADEra))

اَرژنگ
سه شنبه 28 آذر 1385, 21:25 عصر
روش تمیزتر:

http://lytopia.com/Articles/Article.aspx?id=6

javad3151
چهارشنبه 29 آذر 1385, 08:31 صبح
با تشکر از دوستان
تابع تبدیل شمسی به میلادی را به این صورت نوشتم (کدش رو گذاشتم که اگر دیگران خواستند استفاده کنند)


Dim prdate() As String = Split("1385/9/29", "/")
Dim Mdate As New System.Globalization.PersianCalendar
Response.Write(Mdate.ToDateTime(Int(prdate(0)), Int(prdate(1)), Int(prdate(2)), 1, 1, 1, 1, System.Globalization.GregorianCalendar.ADEra))

rtech
پنج شنبه 30 آذر 1385, 18:48 عصر
مرسی از لطفت خیلی بهش احتیاج داشتم الان میرم امتحانش کنم

elijooje
دوشنبه 13 آبان 1387, 17:12 عصر
با تشکر از دوستان
تابع تبدیل شمسی به میلادی را به این صورت نوشتم (کدش رو گذاشتم که اگر دیگران خواستند استفاده کنند)


Dim prdate() AsString = Split("1385/9/29", "/")
Dim Mdate AsNew System.Globalization.PersianCalendar
Response.Write(Mdate.ToDateTime(Int(prdate(0)), Int(prdate(1)), Int(prdate(2)), 1, 1, 1, 1, System.Globalization.GregorianCalendar.ADEra))



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

mahdi_farhani
دوشنبه 13 آبان 1387, 19:33 عصر
http://barnamenevis.org/forum/showthread.php?t=90830

rtech
شنبه 18 آبان 1387, 13:12 عصر
کسی می تونه معادل این تابع رو به زبان سی شارپ بنویسه؟ جوریکه توی وب بشه ازش استفاده کرد؟



public static DateTime convert2miladi(string shamsi)
{
if (shamsi == string.Empty)
{
return DateTime.Now;
}
else
{
try
{
System.Globalization.PersianCalendar Mdate = new System.Globalization.PersianCalendar();
DateTime shamsidate;
string[] prdate = shamsi.Split('/');
shamsidate = Mdate.ToDateTime(Convert.ToInt32((prdate[0])), Convert.ToInt32(prdate[1]), Convert.ToInt32(prdate[2]), 1, 1, 1, 1, System.Globalization.GregorianCalendar.ADEra);
return Convert.ToDateTime(shamsidate.ToShortDateString()) ;
}
catch { return DateTime.Now; }
}
}

رزابرنامه یاب
سه شنبه 24 مرداد 1391, 15:50 عصر
سلام دوست عزیرز واقعا کدی که گذاشتن عالیه خیلی بدردم خورد.
فقط یجا دیگه نیاز دارم تاریخ شمسی که ساعت هم کنارش هست به میلادی تبدیل شه. از این کد استفاده کردم ، ااما ساعتو حذف میکنه .. میخوام ساعت هم حفظ شه ... یعنی ت میلادی همراه ساعت در نهایت داشته باشم تا با استفاده از timespan تفاوت ساعت دو تاریخو پیدا کنم..
میتونید راهنماییم کنید؟؟؟؟خیلی نیاز دارم

Saber_Fatholahi
دوشنبه 08 آبان 1391, 09:25 صبح
سلام دوست عزیرز واقعا کدی که گذاشتن عالیه خیلی بدردم خورد.
فقط یجا دیگه نیاز دارم تاریخ شمسی که ساعت هم کنارش هست به میلادی تبدیل شه. از این کد استفاده کردم ، ااما ساعتو حذف میکنه .. میخوام ساعت هم حفظ شه ... یعنی ت میلادی همراه ساعت در نهایت داشته باشم تا با استفاده از timespan تفاوت ساعت دو تاریخو پیدا کنم..
میتونید راهنماییم کنید؟؟؟؟خیلی نیاز دارم

سلام دوست من توی متد Mdate.ToDateTime چندتا یک به عنوان ورودی داده اونها همون ساعت و دقیقه و ثانیه و میلی ثانیه هست که می تونید خودتون مقدار دلخواه بهش بدین
موفق وموید باشید