PDA

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



sobaisobai
شنبه 02 مهر 1390, 19:21 عصر
سلام به همگی
من می خوام روزهای بین دو تاریخ رو بدست بیارم.
مثلا از تاریخ 1390/05/30 تا 1390/06/22 تعداد روزهاشو کامل بدست بیارم
مثل:

1390/06/1

1390/06/2
.
.
.
.

1390/06/21

خواهشا اگه کسی میدونه که حتما بلدید راهنمایی کنید
ممنون

sanay_esh
شنبه 02 مهر 1390, 20:00 عصر
سلام
این کد رو میذارم ولی به پارامترها نگاه نکن چون فینگلیش بوده !!!:خجالت:

البته میتونی خودت یک تابع بنویسی که تاریخ رو هم چک کنه
اگه خواستی کد اون تابع رو هم برات میذارم



Function KasrTarikh(ByVal Tarikh As String, ByVal KasrRoz As Integer) As String
Dim Sal, Mah, Roz As Integer
Dim SalTarikh, MahTarikh, RozTarikh As Integer
Dim TarikhJdid As String
Dim MahS, RozS As String
Dim Count As Integer
'------------- چک تاریخ ----------------

'-----------------------------------------

Try
SalTarikh = Tarikh.Substring(0, 2)
MahTarikh = Tarikh.Substring(3, 2)
RozTarikh = Tarikh.Substring(6, 2)

'-----------------------------------
Count = SalTarikh * 365

If MahTarikh > 6 Then
MahTarikh = MahTarikh - 6 - 1
Count = Count + MahTarikh * 30 + 186
Count = Count + RozTarikh
Else
MahTarikh = MahTarikh - 1
Count = Count + MahTarikh * 31
Count = Count + RozTarikh
End If

Count = Count - KasrRoz
'------------------------------------
Sal = Count \ 365
Count = Count Mod 365
If Count = 0 Then
Sal = Sal - 1
Mah = 12
Roz = 29
Else
'------ شش ماه اول سال ------
If Count > 186 Then
Mah = (Count - 186) \ 30
Mah = Mah + 6 + 1

Count = (Count - 186) Mod 30
If Count = 0 Then
Mah = Mah - 1
Roz = 30
Else
Roz = Count
End If

Else
Mah = Count \ 31 + 1

Count = (Count) Mod 31
If Count = 0 Then
Mah = Mah - 1
Roz = 31
Else
Roz = Count
End If
End If
End If

'---------- دو رقمی کردن ماه و روز -------------
If Mah < 10 Then
MahS = "0" + Mah.ToString
Else
MahS = Mah.ToString
End If
If Roz < 10 Then
RozS = "0" + Roz.ToString
Else
RozS = Roz.ToString
End If
'--------------------------------------------------
Catch ex As Exception

End Try
TarikhJdid = Sal.ToString + "/" + MahS + "/" + RozS
Return TarikhJdid

sobaisobai
شنبه 02 مهر 1390, 20:28 عصر
دستت درد نکنه:خجالت:
دادا کد سی شارپ شو نداشتی؟

sanay_esh
شنبه 02 مهر 1390, 20:38 عصر
میتونی این کد رو به این ادرس (http://www.developerfusion.com/tools/convert/vb-to-csharp/)بدی تا برات سی شارپ کنه ...
البته من این کد رو دی ال ال کردم و به راحتی در تمام پروژه های خودم چه وی بی چه سی شارپ استفاده میکنم

sobaisobai
شنبه 02 مهر 1390, 20:49 عصر
دمت گرم اگه برات زحمتی نداره DLL رو بدی ممنون میشم
Thank You very Much

sanay_esh
شنبه 02 مهر 1390, 20:58 عصر
شرمنده DLL شامل خیلی کد دیگه است نمیتونم برات ارسال کنم همینو بذار توی سایتی که گفتم برات تبدیلش میکنه به سی شارپ ... متعجبم که نمیخوایی خودت زحمت بکشی...!!!

در هر صورت یه زحمتی بکش لینک تشکر رو هم کلیک کنی ممنون میشم

sobaisobai
شنبه 02 مهر 1390, 21:04 عصر
تو اون سایت رفتم کدت ارور داره
بعدشم برنامه تبدیل vb to Csharp رو دارم تبدیل میکنه اما بازم اررو میده
از این اررو میگیره CheckTarikh(Tarikh)
Name 'CheckTarikh' is not declared
این ارور رو میده

sanay_esh
شنبه 02 مهر 1390, 21:08 عصر
خوب دوباره کد رو اصلاح کردم بردار برو حالشو ببر!

sobaisobai
شنبه 02 مهر 1390, 21:15 عصر
اقا مرسی ولی بازم ارور داشت!
Error 1 Statement is not valid in a namespace
Error 2 Statement cannot appear within a method body. End of method assumed

seven7777777
شنبه 02 مهر 1390, 23:44 عصر
تعداد روزهای بین این دوتارو می خوای با تاریخ های بین این دو تاریخ ؟؟؟

اگه تعداد می خوای که با TimeSpan به راحتی بدست میاد دیگه .
اگه تاریخارو می خوای که بازم تعداد روزای بینشو بدست میاری ، تاریخ شروعم که داری ، بقیش حله دیگه ...

موفق باشید