PDA

View Full Version : سوال: چطوری باید از متغیر ها در تابع datediff استفاده کرد



alinini
یک شنبه 23 مرداد 1390, 15:51 عصر
من دارم یه برنامه می نویسم توش بعد از این که تاریخ شمسی رو با تاریخ میلادی عوض کردم خواستم اختلاف روز های تاریخ ها رو بدست بیارو ولی هر کاری کردم یا صفر میده یا error لطفا کمکم کنید (یه توضیح باحال و یه مثال تست شده) و یه چیز دیگه یه سورس به من بدین که در تکس باکس به جز عدد و نقطه نشه چیزی نوشت
با تشکر :قلب::قلب::قلب::قلب:

محسن واژدی
یک شنبه 23 مرداد 1390, 16:34 عصر
من دارم یه برنامه می نویسم توش بعد از این که تاریخ شمسی رو با تاریخ میلادی عوض کردم خواستم اختلاف روز های تاریخ ها رو بدست بیارو ولی هر کاری کردم یا صفر میده یا error

سلام علیکم
تابع DateDiff چهارتا آرگومان میگیره:
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
interval: در این آرگومان مشخص میکنیم که قصد گرفتن فاصله بین چه قسمتی از دو تاریخ داریم، که بسته به نوع نیاز بایستی رشته مناسب آن را جایگزین کنیم، در اینجا برای محاسبه اختلاف روز متغیر "d" را جایگزین آن میکنیم
سایر ثابت های این بخش را میتوانید با جستجو بیابید
date1وdate2 : تاریخ های ما با فرمتی شبیه yyyy/mm/dd
firstdayofweek: اولین روز از هفته که برای تاریخ شمسی vbSaturday مناسب است
firstweekofyear: تعیین کننده اولین هفته از سال

در سوال شما برای بدست آوردن اختلاف روز مابین دوتاریخ دستور مشابه زیر نوشته میشود:

MsgBox DateDiff("d", "2011/08/12", Now, vbSaturday)




یه سورس به من بدین که در تکس باکس به جز عدد و نقطه نشه چیزی نوشت

تاپیک زیر را بررسی کنیدک
http://barnamenevis.org/showthread.php?298676-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%85%DB%8C-%D8%AA%D9%88%D8%A7%D9%86-%DA%A9%D8%AF%DB%8C-%D9%86%D9%88%D8%B4%D8%AA-%DA%A9%D9%87-%D8%AA%DA%A9%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3-%D9%81%D9%82%D8%B7-%D8%B9%D8%AF%D8%AF-%D8%A8%DA%AF%DB%8C%D8%B1%D8%AF&goto=newpost

موفق باشید

nafisehk
دوشنبه 23 مرداد 1391, 17:22 عصر
سلام
من دارم 1 پروزه دبیرخونه مینویسم که تو او تاریخ ثبت نامه ها را به صورت میلادی تو فیلد datetime ذخیره کردم. برای گرفتن گزارش که اطلاعات مربوط به نامه های ذخیره شده بین دو تاریخ که کاربر در کادر متن وارد میکنه نمایش میده چه کدی رو باید بنویسم.

vbhamed
سه شنبه 24 مرداد 1391, 04:46 صبح
سلام

به نظر من بهتره تاريخ رو به صورت شمسي و در يك فيلد Long ذخيره كنيد به اينصورت كه براي روز 2 رقم، ماه 2 رقم و سال 2 يا 4 رقم در نظر بگيريد و مثلا روز اول رو به صورت 01 در نظر بگيريد كه اين باعث ميشه طول عدد ثبت شده هميشه ثابت باشه مثلا 13910527 براي 1391/5/27
اگر ميلادي ذخيره كنيد بعضي از جستجوها با مشكل مواجه ميشن، مثلا فرض كنيد نياز داريد فقط ليست نامه هاي ارديبهشت ماه سالهاي مختلف رو داشته باشيد
اگر ميلادي ثبت كنيد، كلي تبديلات بايد انجام بشه ولي در شمسي مشابه مثال بالا مي‌تونيد فقط كاراكتر 5 و 6 رو مقايسه كنيد كه برابر 02 باشه و به بقيه تاريخ كاري نداريد و مزاياي ديگه...