View Full Version : سوال: تاریخ
majidsoft
سه شنبه 31 شهریور 1388, 13:52 عصر
با سلام
برنامه من دارای 4 کامبو می باشد دو تای بالایی روز و ماه سیستم را به صورت شمسی می گیرند و دو کامبوی پایینی برای وارد کردن روز و ماه می باشد
حالا من می خواهم دو تای پایینی را با بالاییها مقایسه کنم و اختلاف را به صورت روز بدست آورم
با تشکر
fazelm
سه شنبه 31 شهریور 1388, 14:47 عصر
با سلام
برنامه من دارای 4 کامبو می باشد دو تای بالایی روز و ماه سیستم را به صورت شمسی می گیرند و دو کامبوی پایینی برای وارد کردن روز و ماه می باشد
حالا من می خواهم دو تای پایینی را با بالاییها مقایسه کنم و اختلاف را به صورت روز بدست آورم
با تشکر
اگر کمبو1 تاریخ ماه دستگاه باشد و کمبو2 تاریخ روز دستگاه باشه و همچنین کمبو3و4 شما باید ماه را به روز تبدیل کنی البته با در نظر گرفتن 30 و 31 روزه بودن آن و منها کردن هر دو ماه و آن را با تفاضل روزها جمع کنی سپس تعداد روز ها بدست می آید
متوجه منظورم شدی ؟؟؟
anooshiran
سه شنبه 31 شهریور 1388, 15:03 عصر
سلام دوست عزيز
كد زير را برايت آماده كرده ام . البته براي لاستفاده از اين كد ابتدا بايد تارخ شمسي را به ميلادي تغيير دهي و سپس آن ها را از هم كم كني تا اختلاف بين دو تاريخ در وتحد روز به دست بيايد.
Private Sub DetermineNumberofDays()
Dim dd1 As String = "1"
Dim dd2 As String = "20"
Dim mm1 As String = "3"
Dim mm2 As String = "11"
Dim yy1 As String = "07"
Dim yy2 As String = "07"
Dim dtStartDate As Date = yy1 & "/" & mm1 & "/" & dd1
Dim dtEndDate As Date = yy2 & "/" & mm2 & "/" & dd2
Dim tsTimeSpan As TimeSpan
Dim iNumberOfDays As Integer
Dim strMsgText As String
tsTimeSpan = dtEndDate.Subtract(dtStartDate)
iNumberOfDays = tsTimeSpan.Days
strMsgText = "The total number of days elapsed since " & dtStartDate.ToShortDateString() & " is: " & iNumberOfDays.ToString()
MsgBox(strMsgText)
End Sub
majidsoft
سه شنبه 31 شهریور 1388, 22:28 عصر
اگر کمبو1 تاریخ ماه دستگاه باشد و کمبو2 تاریخ روز دستگاه باشه و همچنین کمبو3و4 شما باید ماه را به روز تبدیل کنی البته با در نظر گرفتن 30 و 31 روزه بودن آن و منها کردن هر دو ماه و آن را با تفاضل روزها جمع کنی سپس تعداد روز ها بدست می آید
متوجه منظورم شدی ؟؟؟
با سلام
آقا فاضل مطمین باش اگر اینقدر ساده بود اونو طرح نمی کردم
یکی از مواردش اینه شما یک ماه اسفند دارین که هر 5 سال تغییر می کنه
اگه کد اون را بنویسی می بینی که به غیر از این حداقل به 5 تا 6 مورد مشکل بر می خوری
majidsoft
سه شنبه 31 شهریور 1388, 22:48 عصر
سلام دوست عزيز
كد زير را برايت آماده كرده ام . البته براي لاستفاده از اين كد ابتدا بايد تارخ شمسي را به ميلادي تغيير دهي و سپس آن ها را از هم كم كني تا اختلاف بين دو تاريخ در وتحد روز به دست بيايد.
Private Sub DetermineNumberofDays()
Dim dd1 As String = "1"
Dim dd2 As String = "20"
Dim mm1 As String = "3"
Dim mm2 As String = "11"
Dim yy1 As String = "07"
Dim yy2 As String = "07"
Dim dtStartDate As Date = yy1 & "/" & mm1 & "/" & dd1
Dim dtEndDate As Date = yy2 & "/" & mm2 & "/" & dd2
Dim tsTimeSpan As TimeSpan
Dim iNumberOfDays As Integer
Dim strMsgText As String
tsTimeSpan = dtEndDate.Subtract(dtStartDate)
iNumberOfDays = tsTimeSpan.Days
strMsgText = "The total number of days elapsed since " & dtStartDate.ToShortDateString() & " is: " & iNumberOfDays.ToString()
MsgBox(strMsgText)
End Sub
با تشکر از شما من صبح تاریخ رو تبدیل کردم و با تابع date diff به نتیجه رسیدم ولی فرصت نشد کامل تستش کنم این کد شما برای سال کبیسه هم جواب می ده
anooshiran
سه شنبه 31 شهریور 1388, 23:12 عصر
سلام دوست عزيز
بله براي سال كبيسه هم جواب مي دهد.
البته با عرض پوزش در باره سال كبيسه نوشته بوديد كه هر 5 سال يك بار تكرار مي شود كه اين صحيح نيست.
من مقاله مفصلي در باره سال كبيسه در همين سايت نوشته ام . بد نيست مطالعه كنيد تا روش پيدا نمودن سال كبيسه برايتان روشن شود.
http://barnamenevis.org/forum/showthread.php?t=174976
mlf_mlv
سه شنبه 31 شهریور 1388, 23:17 عصر
با سلام
آقا فاضل مطمین باش اگر اینقدر ساده بود اونو طرح نمی کردم
یکی از مواردش اینه شما یک ماه اسفند دارین که هر 5 سال تغییر می کنه
اگه کد اون را بنویسی می بینی که به غیر از این حداقل به 5 تا 6 مورد مشکل بر می خوری
من جوابه سوالتون رو بلد نیستم ولی خواستم بگم هر 4 سال تغییر میکنه! چون هر سال 365 روز و 6 ساعت هستش که بعد از 4 سال میشه 366 روز
majidsoft
چهارشنبه 01 مهر 1388, 00:20 صبح
ای بابا
آقا من منظورم در هر 33 سال بود که یک بار 5 ساله می شود
آقا انوش با عرض معذرت به اون لینک مراجعه کن اعدادت (:لبخند:۱۳70) را به سبک جالبی نوشتی
شوخی کردم
با تشکر از همه دوستان
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.