PDA

View Full Version : یه تابع برای محاسبه تعداد روزهای بین دو تاریخ فارسی!



reham
چهارشنبه 18 آذر 1383, 00:38 صبح
سلام
من میخوام فاصله(تعداد روزها) بین دو تاریخ مثل 09/09/83 و 10/12/83 رو حساب کنم
میخواستم ببینم تابعی هست یا اینکه باید خودم بنویسم.

M.GhanaatPisheh
چهارشنبه 18 آذر 1383, 02:37 صبح
من فکر میکنم بهتره خودت دست به کار شی
کار سختی هم نیست
حساب کن ببین هر تاریخی روز چندم سال هست بعد از هم کمشون کن
فقط مواظب مواردی مثل دو تاریخ در دو سال متفاوت باش.

reham
چهارشنبه 18 آذر 1383, 09:27 صبح
از راهنماییتون بسیار ممنونم.
:thnx:

linux
چهارشنبه 18 آذر 1383, 10:18 صبح
قبلا یه dll گذاشتم تو همین بخش که شما اولا می تونید تبدیل تاریخ ها را حساب کنید و ثانیا از توابع داخل
vb برای همین کارها استفاده کنید
اگر می خواهید باز بفرستم؟

Ali Najafian
چهارشنبه 18 آذر 1383, 15:05 عصر
اون dll کجاست؟؟؟

linux
چهارشنبه 18 آذر 1383, 19:11 عصر
توی مقالات مربوط به ویبی تاریخ شمسی

reham
چهارشنبه 18 آذر 1383, 22:32 عصر
مهربون الان میرم dll رو پیدا می کنم. :thnx:

reham
پنج شنبه 19 آذر 1383, 22:22 عصر
واقعا ممنونم dll رو پیدا کردم و ماموریت با موفقیت انجام شد.
من از dll تو vb.net استفاده کردم.وقتی تو addrefrences اونو اضافه میکردم اعلام میکرد که باید برم رجیسترش کنم.
بعد که اون مثال برنامه ویبی رو انجام دادم و از طریق ویبی اونو اضافه کردم مشکل دات نت هم حل شد .نمیدونم چی شد.اگه موردی هست منو راهنمایی کنید. :flower: :thnx:
:thnx:

Ali Najafian
جمعه 20 آذر 1383, 01:35 صبح
لطفاً آدرس dll را اینجا بذارین.

:thnx: :thnx: :thnx:

reham
جمعه 20 آذر 1383, 11:17 صبح
http://www.barnamenevis.org/forum/viewtopic.php?t=3701&highlight=%E3%ED%E1%C7%CF%ED+%C8%E5+%D4%E3%D3%ED

nasr
سه شنبه 18 بهمن 1390, 10:42 صبح
هرچند این سوال تاریخش خیلی گذشته ولی گفتم شاید یکی سرچ کرد و به اینجا رسید جواب را داشته باشه
DECLARE @a1 INT
DECLARE @b1 INT
DECLARE @date1 NVARCHAR(10)
DECLARE @date2 NVARCHAR(10)
SET @date1 = '90/01/04'
SET @date2 = '91/09/04'

SET @a1= SUBSTRING(@date1,1,2)
SET @b1= SUBSTRING(@date1,4,2)

DECLARE @a2 INT
DECLARE @b2 INT
SET @a2= SUBSTRING(@date2,1,2)
SET @b2= SUBSTRING(@date2,4,2)

DECLARE @dd1 INT
DECLARE @d2 INT
SET @dd1 = @a2 - @a1;

SET @d2 = @b2 - @b1;
SET @dd1 = @dd1 * 12;

DECLARE @mah INT
SET @mah = @dd1 + @d2
PRINT @mah

mohammadpilot
سه شنبه 19 اردیبهشت 1391, 22:14 عصر
با سلام
من یک مشکلی دارم.میخوام اختلاف بین 2 سال رو بدست بیارم ولی واقعا نتونستم.اگه میشه راهنماییم کنید که چطور بنویسم ممنون میشم.
با تشکر

aknj56
سه شنبه 19 اردیبهشت 1391, 22:32 عصر
با سلام خدمت دوستان
شما می تونید با تابع datadiff راحت اختلاف بین روز و ماه و سال رو بدست بیارید
مثلا
textbox1.Text = DateDiff("d", TextBox5.Text, TextBox12.Text
این برای بدست آوردن روز بین دو تاریخ است که تکس باکس 5 تاریخی که میخایم از اون تاریخ حساب کنیم و تکس باکس 12 تاریخ فعلی سیستم یا هر تاریخی که میخاید تا آن تاریخ حساب کنه
برای بدست آمدن اختلاف بین ماه هم با "m " و برای اختلاف سال با "Y"

ali_najari
دوشنبه 01 خرداد 1391, 21:02 عصر
دوست عزیز واسه روزهای سپری شده بین دو تاریخ شمسی میتونی از این تابع که نوشتم استفاده کنی خیلی کارت رو راحت میکنه

Public Function ShamsiDateDiff(ByVal Date1 As String, ByVal Date2 As String, Optional ByVal Seperator As String = "/") As Integer

Dim pc As New Globalization.PersianCalendar

Dim da1 = Date1.Split(Seperator)
Dim da2 = Date2.Split(Seperator)

Dim dt1 = pc.ToDateTime(da1(0), da1(1), da1(2), 0, 0, 0, 0)
Dim dt2 = pc.ToDateTime(da2(0), da2(1), da2(2), 0, 0, 0, 0)

Return DateDiff(DateInterval.Day, dt1, dt2)

End Function