PDA

View Full Version : كم كردن اعداد موجود در 2 تكست باكس از همديگه



barnamenevisjavan
یک شنبه 17 اردیبهشت 1391, 09:49 صبح
سلام من دوتا تكست باكس دارم و تو هركدومش يه تاريخي وارد كردم توي تكستباكس1 نوشتم
1390/2/10
و توي ديگري هم نوشتم
1390/3/24

حالا من چطوري اين اعداد رو از يكديگر كم بكنم؟
منظورم همش نيستا فقط روز و ماه از هم كم بشن و تبديل به روز بشن
مثلا اگر تاريخ بالا رو خودمون منها كنيم ميشه 34 روز لطفا كمك كنيد

hakim22
یک شنبه 17 اردیبهشت 1391, 10:09 صبح
مقدار داخل دو textbox رو به تابع datediff بدهید و در قسمت واحد اون رو روی day قرار دهید !

aknj56
یک شنبه 17 اردیبهشت 1391, 10:15 صبح
سلام دوست عزیز
از این کد استفاد ه کن کارت حل میشه
textbox1.Text = DateDiff("d", TextBox5.Text, TextBox12.Text
حالا تکس باکس 5 باید تاریخ اولیه باشه و تکس باکس 12 در این کدی که من نوشتم تاریخ دومی
مثلا شما باید تاریخ 10/2/90 رو توی تکس باکس 5 بنویسی و تاریخ 24/3/90 رو توی تکس باکس 12 در این نمونه کدی که من گذاشتم حالا ممکنه تکس باکسهای شما عددش فرق داشته باشه

barnamenevisjavan
یک شنبه 17 اردیبهشت 1391, 10:37 صبح
خيلي ممنون

barnamenevisjavan
یک شنبه 17 اردیبهشت 1391, 13:32 عصر
به يه مشكلي بر خوردم وقتي كد رو مينويسم اين datediff رو خطا ميگيره مشكلش چيه؟
خطاش هم ميگه مربوط به اين فرم نيست و بايد به datetime تغييرش بدي

ROSTAM2
یک شنبه 17 اردیبهشت 1391, 13:35 عصر
به يه مشكلي بر خوردم وقتي كد رو مينويسم اين datediff رو خطا ميگيره مشكلش چيه؟
خطاش هم ميگه مربوط به اين فرم نيست و بايد به datetime تغييرش بدي

فکر کنم یه جا رو دقت نکردی :چشمک:

تابع datediff واسه تاریخ میلادی درست عمل می کنه :لبخند:

Hybrid
یک شنبه 17 اردیبهشت 1391, 13:52 عصر
سلام دوستان ، آرگومان های Date1 و date2 از این تابع (datediff ) باید از نوع date باشند ،

برای تبدیل یک رشته به date میتونین از date.parse یا ctype استفاده کنید به این نمونه دستور توجه کنید :


Dim FirstTime As DateTime
Dim SecondTime As DateTime
FirstTime = Date.Parse(TextBox1.Text)
SecondTime = CType(TextBox2.Text, Date)
Dim uu As TimeSpan
uu = SecondTime.Subtract(FirstTime)

MessageBox.Show("Second : " & uu.Seconds & vbCrLf & _
"Minute : " & uu.Minutes & vbCrLf & _
"Hours : " & uu.Hours & vbCrLf & _
"Days : " & uu.Days)

** در کد بالا هر دو مقادیر هر دو تکست باکس رو از طریق date.parse به تاریخ تبدیل کردم و سپس از طریق کلاس TimeSpan اختلاف اونا رو بدست آوردم ، از کد بالا میتونین برای تاریخ شمسی و میلادی استفاده کنید.

موفق باشید

barnamenevisjavan
یک شنبه 17 اردیبهشت 1391, 14:17 عصر
ن اشتباه نكنيد درست كار ميكنه فقط وقتي توي پروژه خودم و تو يكي از فرم هاي پروژه اين كد رو نوشتم اخطار گرفت وگر نه يه پروژه جديد باز كردم هيچ مشكلي نداشت

M.T.P
چهارشنبه 20 اردیبهشت 1391, 21:19 عصر
از تابع DateDiff برای تاریخ شمسی استفاده نکنید.

به عنوان مثال:


MsgBox(DateDiff(DateInterval.Day, CDate("1391/2/29"), CDate("1391/3/3")))

در کد بالا تاریخ اولی معتبر نیست ، چرا که ماه دوم میلادی 28 روزه.

mohsen22
یک شنبه 18 فروردین 1392, 20:29 عصر
سلام دوستان ، آرگومان های Date1 و date2 از این تابع (datediff ) باید از نوع date باشند ،

برای تبدیل یک رشته به date میتونین از date.parse یا ctype استفاده کنید به این نمونه دستور توجه کنید :


Dim FirstTime As DateTime
Dim SecondTime As DateTime
FirstTime = Date.Parse(TextBox1.Text)
SecondTime = CType(TextBox2.Text, Date)
Dim uu As TimeSpan
uu = SecondTime.Subtract(FirstTime)

MessageBox.Show("Second : " & uu.Seconds & vbCrLf & _
"Minute : " & uu.Minutes & vbCrLf & _
"Hours : " & uu.Hours & vbCrLf & _
"Days : " & uu.Days)

** در کد بالا هر دو مقادیر هر دو تکست باکس رو از طریق date.parse به تاریخ تبدیل کردم و سپس از طریق کلاس TimeSpan اختلاف اونا رو بدست آوردم ، از کد بالا میتونین برای تاریخ شمسی و میلادی استفاده کنید.

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