PDA

View Full Version : کار با تاریخ و ساعت



minaalamshahi
سه شنبه 06 تیر 1391, 12:24 عصر
با سلام

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

که لازم دارم مثلا در گروه ریاضی از تاریخ 1/1/1391 از ساعت 8:30 شروع ثبت نام انجام بشه و به هر کاربر مدت مثلا 6:00 ساعت زمان بدم برای ثبت نام که هر کاربر در مدت مشخص شده برای خودش اگر ثبت نام کرد که هیچ وگرنه تا آخرین روز ثبت نام مهلت داره اما کاربران دیگه هم به کاربران مجاز اضافه میشن

حالا من چطوری میتونم از تاریخ شروع با توجه به امنتیاز ها و ساعت تعیین شده برای هر دوره ثبت نامی زمان ثبت نام هر شخص رو بدست بیارم

با تاریخ و ساعات چطور می تونم یه فرمول بسازم
/////////////////////////////////////////////////////////////////////////////////


میشه برای تحلیل این قسمت منو راهنمایی کنین که اصلا چطور table مربوط به این قسمت رو بسازم

من یه table زدم که اطلاعات شخص رو داره یه جدول دیگه گروه های درسی هست
و یه جدول دیگه که join دو تا جدول گروه های درسی و کاربر هست یک گروه درسی رو به یه کاریر اختصاص دادم

حالا میخوام یه تاریخ رو مثلا برای گروه ریاضی مشخص کنم که در راس این اریخ و ساعت شروع بشه و بعد نفر بعدی با یه فرمول بدست بیاد

minaalamshahi
یک شنبه 11 تیر 1391, 12:42 عصر
شاید منظورم رو خوب توضیح ندادم
از یه تاریخ و ساعت خاص می خوام ثبت نام رو شروع کنم وبرای ثبت نام کاربر یک زمان مشخص می کنم حالا از بالا به پایین با توجه به امتیاز می خوام زمان ثبت نام هر کاربر با یه فرمول به دست بیارم

مثلا از ساعت 8:00 تاریخ 1391/1/1 شروع ثبت نام و برای ثبت نام به هر کاربر 6:00 ساعت زمان بدم حالا زمان ثبت نام هر کاربر رو می خوام تعیین کنم.

ZiaKhorsandi
یک شنبه 11 تیر 1391, 14:44 عصر
سلام
منظورتون واضح نيست
مدت زمان شروع مهلت ثبت نام تا پايان ثبت نام رو لازم داريد؟
يا زمان شروع ثبت نام به تاريخ و ساعت + ي مدت زمان به ساعت = زمان ثبت نام به تاريخ و ساعت؟
مثلا 1/1/90 ساعت 8:00 + 6 ساعت =1/1/90 ساعت 13:00
يا ؟

minaalamshahi
یک شنبه 11 تیر 1391, 17:29 عصر
منظورم مثلا 1/1/90 ساعت 8:00 + 6 ساعت =1/1/90 ساعت 13:00
همون جمله دومتونه.

میخوام برای تک تک کاربران با توجه به اینکه در جدول امتیاز چندمین نفرن و تاریخ شروع و ساعت شروع و مهلت ثبت نام تعیین شده مثلا همون 6:00 ساعت برای همه زمان ثبت نام تک تک کاربران رو بدست بیارم.

Reza_Yarahmadi
یک شنبه 11 تیر 1391, 19:31 عصر
یه جدول درست کنید که دارای یه فیلد باشه برای تعیین نوع گروه ، یه فیلد از نوع DateTime برای مشخص کردن زمان شروع و یک فیلد دیگه برای تعیین مدت زمان مجاز برای ثبت نام.
در زمان لاگین و یا زمان ثبت نام ؛ با استفاده از توابع کار روی نوع DateTime بررسی کنید ببینید کاربر مجاز به ثبت نام هست یا نه. چیزی مثل نمونه کد زیر
IF (DATEDIFF(Second, GetDate(), @GroupStartTime) >= 0)
Select 'Registration Time is Valid'
Else
Select 'Registration Time is Invalid'
برای بدست آوردن GroupStartTime هم میتونید یه Join بین این جدول و جدول کاربران بزنید و مقدار ساعت شروع ثبت نام رو توی متغیر مورد نظر بریزید.

minaalamshahi
پنج شنبه 15 تیر 1391, 19:43 عصر
ممنونم ولی تا اونجایی که فهمیدم این راه حل سوال من نیست.
شما توی این کد تا اونحایی که فهمیدم میاین چک می کنین زمان حال (getdate)رو با پارامتری که پاس دادین اما من اصلا میخوام اون زمان رو ببینم پطور می تونم توی sql بدست بیارم و با زمان حال مقایسه کنم.

ma_barnamenevis
شنبه 17 تیر 1391, 15:33 عصر
اگه سه تا فیلد برای تاریخ و ساعت و دقیقه بگیری و نوعشون رو هم int بذاری کارت خیلی راحتتر می شه تا اینکه بخوای با نوع datetime سر و کله بزنی

minaalamshahi
دوشنبه 19 تیر 1391, 01:05 صبح
میشه بیشتر برام توضیح بدین منظورتون رو که چظور با این روش مشکلم رو حل کنم؟