نمایش نتایج 1 تا 25 از 25

نام تاپیک: اختلاف ساعت و تاریخ میلادی

  1. #1
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    اختلاف ساعت و تاریخ میلادی

    با سلام تاریخ میلادی ورود و خروج پرسنل در یک ستون ذخیره شده است . حالابا ویو چگونه میتوان یک تاریخ متناظر همان ستون ساخت ولی ساعت بصورت دستی نمایش داده بشه.
    مثلا در روبروی تاریخ اول 02/01/2016 07:00 یک سلول بصورت 02/01/2016 ولی ساعت بصورت 08:00 ساخت :یعنی اگر پرسنل ساعت 7 وارد شد تا ساعت 8 یک ساعت اضافه کاری ثبت بشه.



    6.png

  2. #2
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: اختلاف ساعت و تاریخ میلادی

    اگه منظورتون از این کار در جدول داخل دیتابیس هست می شه یه فانکشن تعریف کرد که ورودیش ستول تاریخ جدول باشه و خرو جی اون افزودن یک ساعت به هر رکورد باشه

    یه چیزی مثل این :http://sqlhints.com/2014/07/06/how-t...in-sql-server/

    مثلا اگه یه ستون تاریخ داشته باشی و بخوای از طریق یه فانکشن 30 روز به تاریخ های موجود در اون فیلد اضافه کنی :
    http://www.w3schools.com/sql/func_dateadd.asp
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 09 اسفند 1394 در 23:32 عصر

  3. #3
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    9.png
    نه قربان میدونید من در جدول اینو میخوام :ساعت شروع کار پرسنل از 7 صبح الی 17 بعداز ظهر است این تاریخها رو خودم برای هر پرسنل ذخیره میکنم.
    حالا جدول بالا ساعت ورود و خروج پرسنل است.
    اگر کارمندی ساعت 6 صبح اومد براش یک ساعت اضافه کاری حساب بشه
    و اگر ساعت 18 رفت براش یک ساعت اضافه کاری حساب بشه
    واگر کمتر از ساعتها اومد کسری کار اضافه بشه

    من خودم نمونه ساختم ولی دوتا جدول ورود و خروج دارم ولی این برنامه متصفانه هر دورا در یک ستون قرارداده هم ورود هم خروج
    این تصویر صحیح است
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 09 اسفند 1394 در 22:25 عصر

  4. #4

    نقل قول: اختلاف ساعت و تاریخ میلادی

    تفاضل ورود و خروج رو حساب کن (کارکرد). میزان معیار رو هم بدست بیار(17-7=10) کافیه کارکرد رو منهای معیار کنی. اگر مثبت بود میشه اضافه کاری اگر منفی بود کسری میشه.

  5. #5
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    اختلاف تاریخ بصورت عدد صحیح نشون داده میشه .مثلا 16.58 دقیقه میشه
    02/01/2016 04:58:00 ب.ظ 02/01/2016 16

  6. #6

    نقل قول: اختلاف ساعت و تاریخ میلادی

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    تفاضل ورود و خروج رو حساب کن (کارکرد). میزان معیار رو هم بدست بیار(17-7=10) کافیه کارکرد رو منهای معیار کنی. اگر مثبت بود میشه اضافه کاری اگر منفی بود کسری میشه.
    این البته ساده ترین مدل محاسبه کارکرده و اشکالم داره (زمانی این روش درسته که صرفا کارکرد بصورت ساعتی مد نظر باشه )، فرض کنید ساعت کاری ۷ الی ۱۷ باشه ، اگر کسی ساعت ۸ ورود داشته باشه و ۱۸ خارج بشه ، میشه ۱۰ ساعت کارکرد ، در صورتی که ۹ ساعت کارکرد موظف داشته ، بعلاوه یک ساعت اضافه کار و یک ساعت کسر کار ، و چون ضرایب اضافه کار و کسر کار تفاوت دارن بنابراین نمیشه این رو ۱۰ ساعت کارکرد عادی محاسبه کرد.



    پ ن: این پست ربطی به تاپیک نداشت ، صرفا خواستم توضیح بدم
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  7. #7
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    من براس ساعت هیچ مشکلی ندارم قبل در اکسل طراحی کردم
    مشکل این دیتابیس اینه هردو را دریک ستون نوشته اینو چندمین باره تکرار میکنمتفاوت تاریخ ها رو میخوام که دریک ستون هستند.اگردو ستون بو مثل اب خوردن محاسبه میشد که

  8. #8
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: اختلاف ساعت و تاریخ میلادی

    سلام
    با توجه به جدول خروجی شما به ازای هر شخص دو رکورد داری ( رکورد ورود و رکورد خروج) این به نظر من هم افزونگی دارد و هم در خروجی (گرفتن کویری) دچار مشکل میشوی.شما تاریخ ورود و خروج رو به ازای یک رکورد پیاده سازی کنی مشکل شما به راحتی حل میشه.با استفاده از توابع sql server که به ستونهای جدول انتساب میدی به راحتی اختلاف ساعت و اضافه کاری و کم کاری هم بدست میاد.
    First,solve the problem then write the code

  9. #9
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    اقای رحیمی گل ممنون از جوابتون ولی مثل اینکه نخوانده جواب دادی -من که عرض کردم اگر دو فیلد باشه مشکل حل میشه عزیرم .

    دیتابیس مال کس دیگه ست که میخوام برنامه براش بنویسم .این برنامه نویس لامسب اومده توی یک رکود ثبت کرده.

  10. #10
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: اختلاف ساعت و تاریخ میلادی

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    اقای رحیمی گل ممنون از جوابتون ولی مثل اینکه نخوانده جواب دادی -من که عرض کردم اگر دو فیلد باشه مشکل حل میشه عزیرم .

    دیتابیس مال کس دیگه ست که میخوام برنامه براش بنویسم .این برنامه نویس لامسب اومده توی یک رکود ثبت کرده.
    مشکل اینه قبل از اینکه شما پست بالا رو بزارید من مشغول نوشتن بودم مشکل همزمانی در پست بود
    First,solve the problem then write the code

  11. #11
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: اختلاف ساعت و تاریخ میلادی

    این SCRIPT جدول رو من تست کردم امیدوارم کارتو را بندازه

    CREATE TABLE [dbo].[Table_3](
    [Id] [int] NOT NULL,
    [StartDT] [datetime] NOT NULL,
    [EndDT] [datetime] NOT NULL,
    [Def] AS (datediff(hour,[StartDt],[EndDT])),
    [name] [nchar](10) NULL,
    CONSTRAINT [PK_Table_3] PRIMARY KEY CLUSTERED
    (
    [Id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    1212.PNG

    12123.PNG
    ستون Def به صورت تابع اختلاف دوستون StartDT و EndDT رو براساس ساعت حساب میکنه پارامتر های دقیقه و روز و سالم داره برای اطلاعات بیشتر به لینک زیر مراجعه شود
    https://msdn.microsoft.com/en-us/library/ms189794.aspx
    First,solve the problem then write the code

  12. #12
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: اختلاف ساعت و تاریخ میلادی

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    اقای رحیمی گل ممنون از جوابتون ولی مثل اینکه نخوانده جواب دادی -من که عرض کردم اگر دو فیلد باشه مشکل حل میشه عزیرم .

    دیتابیس مال کس دیگه ست که میخوام برنامه براش بنویسم .این برنامه نویس لامسب اومده توی یک رکود ثبت کرده.
    این تاریخ ورود و تاریخ خروج که در یک ستون درج شده...... منطق حکم می کنه که یه فیلدی هم باید باشه تا مشخص کنه که کدوم رکورد مال ورود و کدوم رکورد مربوط به خروج

    در غیر این صورت سوا کردن ورود و خروج چگونه هست؟؟

  13. #13
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    منم نظرم همینه ولی تمام رگودهای جدول کلا مشابه هم هستند .مثلا اگر برای خروج کد 2 و برای ورود کد 1 داشت کار راحت بود ولی تمام ردیفها مشابه غیر از تاریخ ورود و خروج

    من فکر میکنم :طرف ایام صبح را ورود و ایام عصر را خروج در نظر گرفته

    بلخره همچین برنامه نویسهایی هم پیدا میشن.ههههه دنبال پیچوندن کار هستند


    اقای رحیمی فارغ از این سوال جوابت واقعا به درم خورد

  14. #14
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    در قسمت formulaچگونه تاریخ سیستم رو قراربدم؟

  15. #15
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    دوستان به نظر شما طرف چ کار کرده دیتابیس رو که توی گزارشات خودش درست عمل میکنه؟

  16. #16

    نقل قول: اختلاف ساعت و تاریخ میلادی

    میتونید جدول رو با خودش join کنید البته با شروط مناسب. با این کار میتونید در یک سطر، هم زمان ورود و هم خروج رو داشته باشید. دیگه بقیه محاسبات به راحتی قابل انجام هست.
    من جدول با اسکریپت زیر رو ایجاد کردم:

    CREATE TABLE [dbo].[Tbl](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [PersonId] [int] NULL,
    [Status] [nvarchar](50) NULL,
    [InOutDateTime] [datetime] NULL,
    CONSTRAINT [PK_Tbl] PRIMARY KEY CLUSTERED
    (
    [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    (Status وضعیت ورود یا خروج رو مشخص میکنه(همون G در مثال شما))
    به اینصورت میتونید عمل کنید:

    select t1.PersonId,
    t1.InOutDateTime as StartDateTime,
    t2.InOutDateTime as EndDateTime
    from tbl t1
    join tbl t2
    on t1.PersonId = t2.PersonId
    and t1.Status <> t2.Status
    and t1.InOutDateTime <= t2.InOutDateTime


    آپدیت: کد بالا یک اشکال داره که تمام تاریخها رو ترکیب میکنه و تاریخ های متوالی رو نمیتونه تشخیص بده.
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 18 اسفند 1394 در 14:51 عصر

  17. #17
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    تقریبا به نتیجه رسیدم حالا چگونه زمان و تاریخ رو از هم جدا کنم و در دو فیلد جدا قراربدم با view?
    02/01/2016 07:00:00 ق.ظ

  18. #18
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    برای بدست آوردن ساعت بین دو تاریخ از این کد استفاده کردم
    DATEDIFF(dbo.Table2.HH, dbo.Table2.J
    ) AS float

    اختلاف را بصورت رند نشون میده .
    چگونه اختلاف را بصورت ساعد وتاریخ نشون بدم ::: 07:22

  19. #19
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: اختلاف ساعت و تاریخ میلادی

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    برای بدست آوردن ساعت بین دو تاریخ از این کد استفاده کردم
    DATEDIFF(dbo.Table2.HH, dbo.Table2.J
    ) AS float

    اختلاف را بصورت رند نشون میده .
    چگونه اختلاف را بصورت ساعد وتاریخ نشون بدم ::: 07:22
    اختلاف رو بر حسب دقیقه mi بگیر نتیجه (بر حسب تعداد دقایق)تقسیم بر 60 ،میشه تعداد ساعت و باقی مانده تقسیم هم میشه تعداد دقیقه به این شیوه بدست میاد
    First,solve the problem then write the code

  20. #20
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    این کارو کردم نشد مثلا اگر جواب 05:55 دقبقه بصورت 5/95 نشون میده

  21. #21

    نقل قول: اختلاف ساعت و تاریخ میلادی

    میتونید تاریخ ها رو از هم کم کنید و نتیجه رو به نوع TIME کست کنید. (اگر تاریخ ورود و خروج حتما مربوط به یک روز هستند.)
    کدی که در پست قبلیم ارسال کردم یک اشکال داشت و اون این بود که همه تاریخ ها رو با هم ترکیب میکرد بدون اینکه در نظر بگیره آیا ورود و خروج متوالی هستند یا نه. اگر ورود و خروج در یک روز حتما ثبت شده باشه باز بهتر میتونید کوئری رو اصلاح کنید. با توجه به جدولی که اسکریپت اونو قبلا قرار دادم به صورت زیر میتونید اختلاف (duration) رو بدست بیارید:

    with
    ranking as
    (
    select *,
    row_number() over(partition by personId order by personId,InOutDateTime) rnk
    from tbl
    )
    select t1.PersonId,
    t1.InOutDateTime as [StartTime],
    t2.InOutDateTime as [EndTime],
    CAST(t2.InOutDateTime-t1.InOutDateTime as time) as [duration]
    from ranking t1
    join ranking t2
    on t1.PersonId = t2.PersonId
    and t1.rnk + 1 = t2.rnk
    where t1.Status = N'شروع زمان کار'
    and t2.Status = N'پایان زمان کار'

  22. #22

    نقل قول: اختلاف ساعت و تاریخ میلادی

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    منم نظرم همینه ولی تمام رگودهای جدول کلا مشابه هم هستند .مثلا اگر برای خروج کد 2 و برای ورود کد 1 داشت کار راحت بود ولی تمام ردیفها مشابه غیر از تاریخ ورود و خروج

    من فکر میکنم :طرف ایام صبح را ورود و ایام عصر را خروج در نظر گرفته

    بلخره همچین برنامه نویسهایی هم پیدا میشن.ههههه دنبال پیچوندن کار هستند


    اقای رحیمی فارغ از این سوال جوابت واقعا به درم خورد
    نه اونی که این دیتابیس رو طراحی کرده میدونسته چیکار میکنه؛
    نظرش این بوده که یک کارمند ممکنه در روز بخواد چندین بار بره بیرون از محل کار و بیاد داخل شرکت (مثلا برخی شرکت ها هستن که ساعت نهار رو نماز رو جزء ساعت کاری نمیدونن و یا شخص بخواد بره با موبایل صحبت کنه یا اصلا طرف بخواد بره هوا خوری و ... که ساعت ورود و خروج میزنه و جزو ساعت کاری محاسبه نمیشه)

  23. #23
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی


  24. #24
    کاربر دائمی آواتار علی فتحی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    مهاباد
    سن
    42
    پست
    1,076

    نقل قول: اختلاف ساعت و تاریخ میلادی

    کسی در مورد دیتابیس نظری نداره ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟

  25. #25
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: اختلاف ساعت و تاریخ میلادی

    نقل قول نوشته شده توسط علی فتحی مشاهده تاپیک
    فایلی با این آدرس وجود ندارد.
    First,solve the problem then write the code

تاپیک های مشابه

  1. تاریخ میلادی و ساعت 24 ساعته
    نوشته شده توسط ali_abbasi22145 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 6
    آخرین پست: جمعه 20 فروردین 1395, 17:03 عصر
  2. سوال: جبران اختلاف ساعت local و GMT در تاریخ یک روز
    نوشته شده توسط mani887 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 27 شهریور 1392, 09:39 صبح
  3. ذخیره تاریخ و ساعت به صورت میلادی در دیتابیس
    نوشته شده توسط سمیرا55 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: یک شنبه 20 مرداد 1392, 09:56 صبح
  4. محاسبه اختلاف ساعت و تاریخ
    نوشته شده توسط morrteza323 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: دوشنبه 17 خرداد 1389, 17:43 عصر
  5. بدست آوردن اختلاف روز ها در تاریخ میلادی
    نوشته شده توسط babak23 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: سه شنبه 30 بهمن 1386, 10:55 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •