PDA

View Full Version : درخواست نمونه بسیار دقیق محاسبه تاریخ شمسی



korosh00
پنج شنبه 29 مرداد 1394, 11:35 صبح
سلام
من می خوام کلا با تاریخ شمسی این محاسبات رو انجام بدم .
1- محاسبه دقیق اختلاف دو تاریخ . کدوم از کدوم بزرگتر و ...
2- الان تاریخ امروز رو داریم با تنظیم مثلا 20 در یک کمبوباکس تاریخ بره روی 20 روز بعد از تاریخ امروز . برای مدت زمان انقضاء و...
3- محاسبه دقیق سن . مثلا کسی که 18 سالش تموم شده و بالاتر از اون سن بشن بزرگسال -
12سال سن کامل به بعد تا 16 سال سن بشن جوان و این موارد ...


ممنون

pbm_soy
پنج شنبه 29 مرداد 1394, 13:17 عصر
امکاناتی دات نت توسط globalization میده کارتو راه نمیاندازد؟!

aminmousavi
پنج شنبه 29 مرداد 1394, 13:51 عصر
سلام دوست عزیز . من خودم از روش های زیر استفاده میکنم :

1- برای مقایسه 2 تاریخ :

public enum CampareDate
{
Error, Mosavi, Bozorgtar, Kochiktar
}
public CampareDate Compare(string date1, string date2)
{
DateTime dt1;
if (!DateTime.TryParse(date1, out dt1)) { return CampareDate.Error; }


DateTime dt2;
if (!DateTime.TryParse(date2, out dt2)) { return CampareDate.Error; }


if (dt1 == dt2)
{
return CampareDate.Mosavi;
}
else if (dt1 > dt2)
{
return CampareDate.Bozorgtar;
}
else
{
return CampareDate.Kochiktar;
}
}
public CampareDate Compare(DateTime date1, DateTime date2)
{
if (date1 == date2)
{
return CampareDate.Mosavi;
}
else if (date1 > date2)
{
return CampareDate.Bozorgtar;
}
else
{
return CampareDate.Kochiktar;
}
}

davidrobert
پنج شنبه 29 مرداد 1394, 14:53 عصر
سلام
من می خوام کلا با تاریخ شمسی این محاسبات رو انجام بدم .
1- محاسبه دقیق اختلاف دو تاریخ . کدوم از کدوم بزرگتر و ...
2- الان تاریخ امروز رو داریم با تنظیم مثلا 20 در یک کمبوباکس تاریخ بره روی 20 روز بعد از تاریخ امروز . برای مدت زمان انقضاء و...
3- محاسبه دقیق سن . مثلا کسی که 18 سالش تموم شده و بالاتر از اون سن بشن بزرگسال -
12سال سن کامل به بعد تا 16 سال سن بشن جوان و این موارد ...


ممنون

دوست عزیز بحث بررسی کردن اطلاعات بر حسب تاریخ یک بحث جداگانه هستش که نمی تونی بگی مثلا شیر سفید هستش قبول ندارم شیر سیاه هستش و باید سایه باشه شیر.
منظور من از این حرف این هستش که شما بخواهید چه نخواهید نمی تونید از عمل محاسبه باته تاریخ شمسی تا ویندوز 8.1 استفاده کنید یعنی هیچ نوع محاسبه تا ویندوز 8.1 نمی تونید انجام دهید و از طرف دیگه نوع فیلد رو date قرار بدید تاریخ شمسی ذخیره میکنه غیر از ماه 2 و 4 مقدار روز 31 رو قبول نمیکنه که این بدرد نمیخوره که شما مجبور هستید برای بررسی اطلاعات خود از دو نوع تاریخ استفاده کنید یک شمسی و معادل میلادی رو انجام بدید یعنی شما تاریخ شمسی انتخاب میکنید که نوع فیلدش nvarchar هستش و نوع تبدیل شدن رو میلادی قرار میدید که از نوع date هستش و شما تاریخ شمسی رو انتخاب میکنید ولی بررسی رو با میلادی به صورت مخفاینه انجام میدید.
مثل این کد http://barnamenevis.org/showthread.php?420488-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B1%D9%88%D8%B2-31-%D9%87%D8%B1-%D9%85%D8%A7&p=2243657&viewfull=1#post2243657

korosh00
پنج شنبه 29 مرداد 1394, 16:49 عصر
یک دستور مقایسه تاریخ در اس کیو ال میشه بدید چجوری تاریخ های بزرگتر رو سلکت کنه ؟
ممنون

korosh00
پنج شنبه 29 مرداد 1394, 19:02 عصر
لینک دانلود خراب بود!

davidrobert
پنج شنبه 29 مرداد 1394, 19:35 عصر
برو این تاپیک من رو ببین مشکلت حل میشه
http://barnamenevis.org/showthread.php?505417-%D8%B3%D9%88%D8%B1%D8%B3-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D8%B4%D9%85%D8%B3%DB%8C-%D8%A8%D9%87-%D9%85%DB%8C%D9%84%D8%A7%D8%AF%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D9%85%D9%86%D8%A7%D8%B3%D8%A8-%D9%87%D8%A7-%D9%88-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE

korosh00
پنج شنبه 29 مرداد 1394, 20:21 عصر
الان من مشکل اینه
134488
توی دیتابیس این دوتا تاریخ هستند شمسی نوع nvarchar
حالا من با این دستور می خوام مقایسه بکنم کدوم بزرگتره
134489

اینجاست که از عدد 10 به بالا رو فکر میکنه 0 هست یعنی رقم یکان رو می خونه و مقایسه می کنه . و مثلا تاریخ 1394/5/25 رو بزرگتر میدونه از 1394/10/25