PDA

View Full Version : سوال: محاسبات روی تاریخ در سی شارپ



masoomenoroozi
دوشنبه 01 خرداد 1391, 12:28 عصر
دوستان سلام
من پروژه ای با موضوع پیاده سازی سیستم بانک رو طراحی کردم که برای محاسبه سود و..... برای مشتریان احتیاج به محاسبه زمان سپرده هست . حالا سوال من اینه که چطور میشه دو تاریخ رو ازهم کم کرد تا تعداد ماهها و روزهای سپرده گذاری به تفکیک دربیاد ممنون...............................samendadi @yahoo.com

mousa1992
دوشنبه 01 خرداد 1391, 14:05 عصر
سلام دوست عزیز
برای این کار میتونی فیلدی رو از نوع int توی جدول بانکت تعریف کنی و تاریخ وارد شده کاربر به صورت رشته رو با استفاده از یه همچین تابعی که زیر گذاشتم تبدیل به int کنی و دیگه به راحت میتونی تعداد روزها ماه ها و... رو با + و - محاسبه کنی :چشمک:



//****************************************
public int convert(string date)
{
string final="";
string[] s = date.Split('/');
foreach (string st in s)
{
final += st;
}
int result = Int32.Parse(final);
return result;
}
//*****************************************


وردی این تابع یه تاریخ به صورت 1391/03/01 یه همچین چیزی هست
که تبدیل میشه به عدد 13910301 و میتونی محاسباتت رو روش انجام بدی
و در ضمن میتونی یه فیلد دیگه هم توی جدول اضافه کنی به صورت رشته که همون تاریخ رشته ای واردش بشه برای نمایش تاریخ صرفا
مشکلی داشتی در خدمتم :قلب:

فرید نجفلو
دوشنبه 01 خرداد 1391, 15:52 عصر
سلام دوست عزیز
برای این کار میتونی فیلدی رو از نوع int توی جدول بانکت تعریف کنی و تاریخ وارد شده کاربر به صورت رشته رو با استفاده از یه همچین تابعی که زیر گذاشتم تبدیل به int کنی و دیگه به راحت میتونی تعداد روزها ماه ها و... رو با + و - محاسبه کنی

وردی این تابع یه تاریخ به صورت 1391/03/01 یه همچین چیزی هست
که تبدیل میشه به عدد 13910301 و میتونی محاسباتت رو روش انجام بدی
و در ضمن میتونی یه فیلد دیگه هم توی جدول اضافه کنی به صورت رشته که همون تاریخ رشته ای واردش بشه برای نمایش تاریخ صرفا
مشکلی داشتی در خدمتم :قلب:

سلام

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

به اون همه کد هم نیازی نبود:

date = date.Replace("/", "");

حل مشکل:
اگه می خواید در سطح پایگاه داده (SQL Server) این کا رو انجام بدید:
اینجا (پست 2) (http://barnamenevis.org/showthread.php?341137-هشدار-قبل-از-سر-رسید-تاریخ&p=1504948&viewfull=1#post1504948)
اگه می خواید در سطح برنامه باشه
اینجا (پست 5) (http://barnamenevis.org/showthread.php?341959-بدست-آوردن-روزهای-مابین-دو-تاریخ-شمسی-(-تفاضل-روزهای-مابین-دو-تاریخ-شمسی-)&p=1508461&viewfull=1#post1508461)البته با VB.NET

mousa1992
دوشنبه 01 خرداد 1391, 17:28 عصر
سلام

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

به اون همه کد هم نیازی نبود:

date = date.Replace("/", "");

حل مشکل:
اگه می خواید در سطح پایگاه داده (SQL Server) این کا رو انجام بدید:
اینجا (پست 2) (http://barnamenevis.org/showthread.php?341137-%D9%87%D8%B4%D8%AF%D8%A7%D8%B1-%D9%82%D8%A8%D9%84-%D8%A7%D8%B2-%D8%B3%D8%B1-%D8%B1%D8%B3%DB%8C%D8%AF-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE&p=1504948&viewfull=1#post1504948)
اگه می خواید در سطح برنامه باشه
اینجا (پست 5) (http://barnamenevis.org/showthread.php?341959-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D8%B1%D9%88%D8%B2%D9%87%D8%A7%DB%8C-%D9%85%D8%A7%D8%A8%DB%8C%D9%86-%D8%AF%D9%88-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%B4%D9%85%D8%B3%DB%8C-%28-%D8%AA%D9%81%D8%A7%D8%B6%D9%84-%D8%B1%D9%88%D8%B2%D9%87%D8%A7%DB%8C-%D9%85%D8%A7%D8%A8%DB%8C%D9%86-%D8%AF%D9%88-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%B4%D9%85%D8%B3%DB%8C-%29&p=1508461&viewfull=1#post1508461)البته با VB.NET

سلام دوست عزیز
اره خب حق با شماست
یه کم محاسبات داره ولی خب من روش دیگه ای بلد نیستم تاریخو تبدیل میکنم به INT و با استفاده از محاسباتی نیاز هامو برطرف میکنم :لبخندساده:

و متشکرم از اون متد جالب بود متشکرم :تشویق:
تازه واردم شما دوستان ببخشید اظهار نظر کردم
تازه دوتا پروژه هم تحویل گرفتم باید انجامشون بدم
خدا به دادشون برسه :لبخند:

crazy_1892
دوشنبه 01 خرداد 1391, 17:33 عصر
نمایش تاریخ فارسی به هر حالتی که دوست داشته باشید (http://barnamenevis.org/showthread.php?90830-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%D9%87%D8%B1-%D8%AD%D8%A7%D9%84%D8%AA%DB%8C-%DA%A9%D9%87-%D8%AF%D9%88%D8%B3%D8%AA-%D8%AF%D8%A7%D8%B4%D8%AA%D9%87-%D8%A8%D8%A7%D8%B4%DB%8C%D8%AF)