PDA

View Full Version : سوال: اختلاف روز بین دو تاریخ شمسی



keyvan_s89
سه شنبه 22 اسفند 1391, 15:47 عصر
سلام
من تویه بانکم دو تا تاریخ ذخیره کردم از نوع nvarchar حالا اونها رو select کردم تویه برنامه و ریختم تویه دوتا متغیر رشته ای

حالا تویه c# چه جوری میتونم اختلاف اونها رو بدست بیارم ؟
با Time span میشه ؟

مثلا تاریخ اول 1391/12/12
تاریخ دوم 1392/01/12

که میشه 30 روز

Masoudse7en
سه شنبه 22 اسفند 1391, 15:53 عصر
منم دنبالش هستم اصلا تو سی شارپ با چه تابعی میشه اختلاف دو تاریخ رو دست اورد ؟

تو VB.NET چی ؟ممنون از همگی

saeedgholami
سه شنبه 22 اسفند 1391, 16:02 عصر
سلام

این میتونه کمکت کنه

http://stackoverflow.com/questions/845379/difference-between-two-datetimes-c

f.beigirad
سه شنبه 22 اسفند 1391, 16:03 عصر
انجام این کار خیلی سادس.از کلاس TimeSpan استفاده میکنیم.

مثال:
دوتا شیء از نوع DateTime میسازیم.با تاریخ و ساعت دقیق:

DateTime myStartTime=new DateTime(2009,1,1,12,13,14,157);
DateTime myEndTime=new DateTime(2010,9,12,13,14,15,165);

حالا یک شیء از نوع Time Span میسازیم و اونو اینطوری مقدار دهی میکنیم:
TimeSpan myDifference=myEndTime-myStartTime;

الان داخل myDifference فاصله زمانی میان دو زمان مد نظرمون قرار داره.کافیه از خصوصیات خودش استفاده کنیم برای دسترسی به محتوای اون.

برای مثال:

int totalDays=myDifference.Days;//تعداد روزها
int totalHours=myDifference.Hours;//تعداد ساعات
int totalMinutes=myDifference.Minutes;//تعداد دقايق
int totalSeconds=myDifference.Seconds;//تعداد ثانيه
int totalMilliSeconds=myDifference.MilliSeconds;//تعداد ميلي ثانيه

موفق باشید

C#‎_best_Programmer
سه شنبه 22 اسفند 1391, 16:03 عصر
DateTime time1 = DateTime.Now;
DateTime time2 = Convert.ToDateTime("2013/4/5");
TimeSpan span = time1 - time2;

keyvan_s89
سه شنبه 22 اسفند 1391, 16:07 عصر
سلام

این میتونه کمکت کنه

http://stackoverflow.com/questions/845379/difference-between-two-datetimes-c

خوب من الان رشته ای که از بانک select کردم اینجوریه 1391/05/12
یعنی باید دونه دونه جدا بشه به عنوان پارامتر های datetime و بعد کم بشه ؟
این طوری مکافاته راه دیگه ای نیست ؟

keyvan_s89
سه شنبه 22 اسفند 1391, 16:15 عصر
DateTime time1 = DateTime.Now;
DateTime time2 = Convert.ToDateTime("2013/4/5");
TimeSpan span = time1 - time2;
دنبال همین بودم مرسی.

C#‎_best_Programmer
سه شنبه 22 اسفند 1391, 16:18 عصر
خواهش می کنم