PDA

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



rofirash
دوشنبه 16 فروردین 1389, 14:00 عصر
با سلام خدمت دوستان من یک تاریخ استخدام دارم فرض کنید : 01/01/87 باشد حالا می خواهم سابقه وی را در تاریخ حال به این شکل نشان بدهد : 1 سال و 1 ماه و 2 روز
در ضمن وقتی از هم کم می کنم روز خالی بهم می ده .
از اساتید محترم تقاضا دارم کمک کنند

rofirash
سه شنبه 17 فروردین 1389, 14:58 عصر
دوستان راهی هست؟ می خوام که عدد رو به تاریخ تبدیل کنه مثل یه convertor

pezhvakco
سه شنبه 17 فروردین 1389, 18:18 عصر
درود :

تفاضل تاریخ و نشان دادن به شکل سال ، ماه ، روز

برای این کار باید یه تابع مفصل بنویسی :

میتونی روز مورد نظر رو بدست بیاری . چندمین روز سال است . مثلا 88/02/01 رو سی دوومین روز سال است .
و اون اون روز دیگه رو هم همین طور . بعد از هم کم کنی و با بررسی اون تعداد سال ، روز و ماه رو محاسبه کنی .


؟ می خوام که عدد رو به تاریخ تبدیل کنه مثل یه convertor

تابع چرا ! خودت بنویس : 6 ماه اول سال 31 روزه ، 5 ماه بعدی 30 روزه و ماه آخر 29 روزه .

حالا اگه عددت از 186 کوچکتره تو 6 ماه اول و اگه از 366 کوچکتره تو 5 ماهه بعدی و درغیر این صورت ماه آخر و بقیه اش با خوت ...

فکر خوش .

anbaran
سه شنبه 17 فروردین 1389, 19:41 عصر
با سلام خدمت دوستان من یک تاریخ استخدام دارم فرض کنید : 01/01/87 باشد حالا می خواهم سابقه وی را در تاریخ حال به این شکل نشان بدهد : 1 سال و 1 ماه و 2 روز
در ضمن وقتی از هم کم می کنم روز خالی بهم می ده .
از اساتید محترم تقاضا دارم کمک کنند


نمونه کاربردی تبدیل تفاضل دو تاریخ به روز و ماه و سال

rofirash
پنج شنبه 19 فروردین 1389, 08:55 صبح
نمونه کاربردی تبدیل تفاضل دو تاریخ به روز و ماه و سال

نمونه خوبی بود ولی من می خوام که مثلا عدد 400 رو که می دهم بگه مساوی است با
1 سال و 1 ماه و 5 روز

anbaran
پنج شنبه 19 فروردین 1389, 14:18 عصر
نمونه خوبی بود ولی من می خوام که مثلا عدد 400 رو که می دهم بگه مساوی است با
1 سال و 1 ماه و 5 روز

راهش روبه روش ساده توضیح میدم خودت انجام بده
با استفاده از ماژولهای تبدیل تاریخ میلادی به فارسی که اغلب اضافه کردن عدد به تاریخ و بدست اوردن تاریخ جدید را دارن ابتدا دوتا متغیر تعریف کن در متغییر اولی یک تاریخ فرضی بده و در متغیر دوم تاریخ فرضی را با استفاده از توابع ماژول با عدد دلخواه خودت جمع بزن تا تاریخ جدید بدست بیاد
حال تفاضل این دو متغییر رو در نمونه کاربردی بالا به روز و ماه و سال تبدیل کن


اگه این کار رو خوت انجام بدی بهتر یاد می گیری ------------- با تشکر

ali190
پنج شنبه 19 فروردین 1389, 18:41 عصر
آیا میتوان برای عکس این حالت هم تابعی نوشت؟

anbaran
شنبه 21 فروردین 1389, 10:38 صبح
آیا میتوان برای عکس این حالت هم تابعی نوشت؟


جناب ali190

برای جمع مقدار سال و ماه و روز با یک تاریخ مشخص و بدست آوردن تاریخ جدید طبق نمونه شما به روش زیر عمل کن.
ابتدا مقدار سال وماه و روز مورد نظرت رو به یک عدد تبدیل کن به این صورت(سال*365+ماه*30+روز) سپس با استفاده از توضیحات تاپیک 6 این مقدار رو با تاریخ مورد در توابع ماژول تبدیل تاریخ جمع بزن و تاریخ جدید رو استخراج کن
با تشکر

rofirash
شنبه 21 فروردین 1389, 13:32 عصر
دوستان یه نفر عدد 400 رو به تاریخ 87/12/29 اضافه کنه.

anbaran
شنبه 21 فروردین 1389, 14:56 عصر
دوستان یه نفر عدد 400 رو به تاریخ 87/12/29 اضافه کنه.


ظاهرا" توضیح دادن موضوع تاثیری نداره و باید حتما" نمونه کاربردی رو اصلاح و براتون بزارم

rofirash
شنبه 21 فروردین 1389, 15:22 عصر
ظاهرا" توضیح دادن موضوع تاثیری نداره و باید حتما" نمونه کاربردی رو اصلاح و براتون بزارم

خیلی عالی بود فقط می تونید کاری کنید سال رو 360 روز و ماه رو 30 روز حساب کنه. این برنامه 365 روزه حساب می کنه. ای ول استاد

جعفر88
شنبه 21 فروردین 1389, 20:25 عصر
سلام

اگه ميشه فايل زير رو هم امتحان كنيد در اين برنامه تاريخ بدون در نظر گرفتن مميزهايش به كل روز تبديل ميشه بعد تعداد روزهاي مورد نظر بهش اضافه ميشه و در آخر عكس اين كار انجام ميشه در ضمن يك تايعي هم به نام EnToFaDate درش هست كه براي تبديل تاريخ ميلادي به شمسي ايجاد شده و از خيلي توابعي كه من در اين خصوص بررسي كردم خيلي جمع و جورتره و كاراتر . البته دوستان مي تونن با تغيير كمي براي جمع و تفريق دو تاريخ نيز از اينها استفاده كنن . همچنين ميشه فيلدهاي تاريخ رو همراه مميز به صورت نوع داده متني نيز تعريف كرد منتها مستحضريد كه اينكار حجم ذخيزه داده ها رو بالاتر خواهد برد .

rofirash
دوشنبه 23 فروردین 1389, 08:19 صبح
سلام

اگه ميشه فايل زير رو هم امتحان كنيد در اين برنامه تاريخ بدون در نظر گرفتن مميزهايش به كل روز تبديل ميشه بعد تعداد روزهاي مورد نظر بهش اضافه ميشه و در آخر عكس اين كار انجام ميشه در ضمن يك تايعي هم به نام EnToFaDate درش هست كه براي تبديل تاريخ ميلادي به شمسي ايجاد شده و از خيلي توابعي كه من در اين خصوص بررسي كردم خيلي جمع و جورتره و كاراتر . البته دوستان مي تونن با تغيير كمي براي جمع و تفريق دو تاريخ نيز از اينها استفاده كنن . همچنين ميشه فيلدهاي تاريخ رو همراه مميز به صورت نوع داده متني نيز تعريف كرد منتها مستحضريد كه اينكار حجم ذخيزه داده ها رو بالاتر خواهد برد .

خیلی عالی بود . فقط چیزی که هست من یه تاریخ استخدام دارم و یه تعداد روز سربازی حالا می خوام سابقه خدمت رو بهم بدهد. مشکلی که هست اگر 365 روز حساب کنیم با افرادی که 18 ماه نظام وظیفه دارند با مشکل روبه رو می شم. می خوام که 18 ماه اضافه بشه . اونجوری 6 ماه اول رو 31 روز حساب می کنه برا همین عدد بدست آمده درست نمی باشد.

rofirash
پنج شنبه 26 فروردین 1389, 13:25 عصر
خیلی عالی بود . فقط چیزی که هست من یه تاریخ استخدام دارم و یه تعداد روز سربازی حالا می خوام سابقه خدمت رو بهم بدهد. مشکلی که هست اگر 365 روز حساب کنیم با افرادی که 18 ماه نظام وظیفه دارند با مشکل روبه رو می شم. می خوام که 18 ماه اضافه بشه . اونجوری 6 ماه اول رو 31 روز حساب می کنه برا همین عدد بدست آمده درست نمی باشد.

اساتید کمک