PDA

View Full Version : تبدیل تاریخ در VB2005



امیر تورانی
یک شنبه 06 آذر 1384, 17:17 عصر
با سلام
به کد ذیر توجه کنید

Dim JalaaliClass As New Globalization.JalaaliCalendar()
year = JalaaliClass.GetYear(Today)
این کد سال تاریخ شمسی را بر میگرداند مثلا 1384 ، حالا موضوع اینجاست چه کدی باید نوشت که year را که 1384 را است را بگیرد و 2005 یا 05 به ما بدهد .

اَرژنگ
دوشنبه 07 آذر 1384, 15:31 عصر
با سلام
به کد ذیر توجه کنید

Dim JalaaliClass As New Globalization.JalaaliCalendar()
year = JalaaliClass.GetYear(Today)
این کد سال تاریخ شمسی را بر میگرداند مثلا 1384 ، حالا موضوع اینجاست چه کدی باید نوشت که year را که 1384 را است را بگیرد و 2005 یا 05 به ما بدهد .
دادنه ۱۳۸۴ برایه بدست آوردن ساله میلادی کافی نیست. چونکه مقداری از ساله ۱۳۸۴ در ساله ۲۰۰۵ مقدرایش در ساله ۲۰۰۶ میباشد، والی اگر تاریخ کامل را داشته باشید میتوانید تبدیل کنید.

امیر تورانی
دوشنبه 07 آذر 1384, 19:16 عصر
خوب صحیح میفرمائید حالا فکر کنید با همین روش ماه و روز را هم داشته باشیم بعد با چه کدی به میلادی برگردانیم ؟

امیر تورانی
سه شنبه 08 آذر 1384, 17:31 عصر
من کماکان منتظرم

اَرژنگ
سه شنبه 08 آذر 1384, 18:58 عصر
اگر اشکالی داشت لطفاً اطّاع بدید
کد از
http://polytopia.com.au/default%5Blang=fa%5D.aspx?obj=tips%5B11%5D%5Blang= fa%5D

برای VB.Net


Public Function DateInOtherCalendar(ByVal aDate As Date, ByVal OtherCalendar As
Calendar) As Date Dim Year As Integer = OtherCalendar.GetYear(aDate)
Dim Month As Integer = OtherCalendar.GetMonth(aDate)
Dim Day As Integer = OtherCalendar.GetDayOfMonth(aDate)
Return New Date(Year, Month, Day, OtherCalendar)
End Function

'مثال استفاده


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
' یک تاریخ شمسی ۱۹ مهر ۱۳۵۹
Dim PersianDate As DateTime = New Date(1359, 7, 19, New PersianCalendar())
Dim Gregorian As GregorianCalendar = New GregorianCalendar()

Text = DateInOtherCalendar(PersianDate, Gregorian)
End Sub

برای #C


public DateTime DateInOtherCalendar( DateTime aDate , Calendar OtherCalender )
{
int Year = OtherCalender.GetYear(aDate);
int Month = OtherCalender.GetMonth(aDate);
int Day = OtherCalender.GetDayOfMonth(aDate);
DateTime DateInOtherCalendar = new DateTime(Year, Month, Day, OtherCalender);
return DateInOtherCalendar;
}

'مثال استفاده


private void button1_Click(object sender, EventArgs e)
{ // یک تاریخ شمسی ۱۹ مهر ۱۳۵۹
DateTime PersianDate = new DateTime( 1359, 7, 19, new PersianCalendar() );
GregorianCalendar Gregorian = new GregorianCalendar( );

Text = DateInOtherCalendar(PersianDate, Gregorian).ToString();
}

بابک زواری
سه شنبه 08 آذر 1384, 21:31 عصر
کد از سایت polytopia.com.au

برای VB.Net


Public Function DateInOtherCalendar(ByVal aDate As Date, ByVal OtherCalendar As Calendar) As Date Dim Year As Integer = OtherCalendar.GetYear(aDate)
Dim Month As Integer = OtherCalendar.GetMonth(aDate)
Dim Day As Integer = OtherCalendar.GetDayOfMonth(aDate)
Return New Date(Year, Month, Day, OtherCalendar)
End Function
'مثال استفاده
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' یک تاریخ شمسی ۱۹ مهر ۱۳۵۹
Dim PersianDate As DateTime = New Date(1359, 7, 19, New PersianCalendar())
Dim Gregorian As GregorianCalendar = New GregorianCalendar()

Text = DateInOtherCalendar(PersianDate, Gregorian)
End Sub


برای #C


public DateTime DateInOtherCalendar( DateTime aDate , Calendar OtherCalender )
{
int Year = OtherCalender.GetYear(aDate);
int Month = OtherCalender.GetMonth(aDate);
int Day = OtherCalender.GetDayOfMonth(aDate);
DateTime DateInOtherCalendar = new DateTime(Year, Month, Day, OtherCalender);
return DateInOtherCalendar;
}
//مثال استفاده
private void button1_Click(object sender, EventArgs e)
{ // یک تاریخ شمسی ۱۹ مهر ۱۳۵۹
DateTime PersianDate = new DateTime( 1359, 7, 19, new PersianCalendar() );
GregorianCalendar Gregorian = new GregorianCalendar( );

Text = DateInOtherCalendar(PersianDate, Gregorian).ToString();
}

اَرژنگ
پنج شنبه 10 آذر 1384, 10:27 صبح
من کماکان منتظرم
ببخشید که منتظر نگهتون داشتم،
من وی بى دات نداشتم و باید نصب میکردم که جواب کامل بدهم و تست کنم. بیشتر وقتم هم صرفه یادگرفتی وىبى شد چونکه وی‌بی کاملاً یادم رفته بود!.
لطفاً‌ بفرما‌یید که جواب کامل بود و یا که کاهشی دارد.
با احترام

امیر تورانی
جمعه 11 آذر 1384, 12:12 عصر
آقا ممنون هم از آقای زواری هم از ارژنگ
ولی PersianCalendar() رو نمی شناسه البته من یه جور دیگه حلش کردم .

اَرژنگ
جمعه 18 آذر 1384, 19:39 عصر
آقا ممنون هم از آقای زواری هم از ارژنگ
ولی PersianCalendar() رو نمی شناسه البته من یه جور دیگه حلش کردم .
عجیبه؟!!
شما با بتا کار میکنید و یا با دات نت ۲.۰؟
لطفاً بگید که چه جوری حلش کردید.

امیر تورانی
جمعه 18 آذر 1384, 22:34 عصر
فعلا که بتا ، مگه persianCalendar() تو نسخه بتا نیست !
راستی هنوز هم حل نشد به صورت شمسی تو تیبل ذخیره کردم در واقع چون جواب نگرفتم نمی تونستم زیاد معطلش شوم .
حال اگر بیشتر راهنمایی کنید ممنون میشم.

linux
شنبه 19 آذر 1384, 02:14 صبح
شما باید یک کلاس طراحی کنید که تاریخ را بصورت شمسی نمایش بدهد ولی بصورت میلادی ذخیره کند.

اَرژنگ
شنبه 19 آذر 1384, 04:24 صبح
فعلا که بتا ، مگه persianCalendar() تو نسخه بتا نیست !
راستی هنوز هم حل نشد به صورت شمسی تو تیبل ذخیره کردم در واقع چون جواب نگرفتم نمی تونستم زیاد معطلش شوم .
حال اگر بیشتر راهنمایی کنید ممنون میشم.
خیر! اگر به پست اولتان نگاه کنید، JalaaliCalendar را استفاده میکنید،
در پست هایه بعدی نحوه تبدیل نوشته شده، در چه مورد راهنمایی لازم دارید؟
با حترام

امیر تورانی
شنبه 19 آذر 1384, 15:25 عصر
خیر! اگر به پست اولتان نگاه کنید، JalaaliCalendar را استفاده میکنید،
در پست هایه بعدی نحوه تبدیل نوشته شده، در چه مورد راهنمایی لازم دارید؟
با حترام
عرض کردم که persiancalender() رو نمیشناسه

اَرژنگ
یک شنبه 20 آذر 1384, 03:27 صبح
persiancalender را با JalaaliCalendar عوض میکنید بازهم کار نمیکنه؟