تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تحويل عدد ساعات العمل من عشري (٢٫٧٥) الى - "HH:MM" في التقارير - تم الحل
#2
اولاً فى البداية كيف تحويل 2.75 الى 2:45
هناك فرق 30 بين الرقمين المذكور ويبدو انك تستخدم طريقة جمع الوقت بطريقة غير صحيحة
تذكر ان جمع الارقام الاعتيادية فينتهى عند 100 ليصبح 1.00
بينما الوقت ينتهى عند 60 ليصبح 1:00

الا اذا كان الرقم المذكور هو الرقم النسبي للوقت كما سيتم توضيحه بنهاية الرد

لاتمام جمع وقت مع وقت اخر او الطرح
يجب عليك وضع الامر فى معرف من نوع TimeSpan
لاتمام الطرح والجمع كما تشاء

والمعرف هذا يمكنك بعدها استخراج الوقت منه كما تم الاشارة اليه مسبقاً
فى ردى عليك فى هذا الرابط

لتوضح الصورة لك اكثر انظر للكود التالى
كود :
       Dim i1 As Date = "10:00"
       Dim i2 As Date = "16:40"
       Dim i3 As New TimeSpan
       i3 = i2 - i1
       MsgBox(i3.TotalHours)
       MsgBox(i3.Hours & ":" & i3.Minutes)

انت ممكن تسال ازاى تم تعرف اسم كونه تاريخ ولكن تم كتابة الوقت فقط كا ساعة و دقيقة

عند اتمام ذلك فالبرنامج بيتم تعريف نفسه كالقيمة i1 بهذا الشكل تلقائياً
PHP كود :
"14/06/2019 10:00:00" 

ويتم تلقائي اعطاء قيمة i2 بهذا الشكل
كود :
"14/06/2019 16:40:00"

حيث يتم وضع التاريخ لليوم تلقائي
وكذلك يتم ادراج الثانية كونه صفر 

وياتى دور i3 وهو الخاص بـ TimeSpan لتحويل التاريخ الى رقم
وخلينا نقول ان الرقم ده عبارة عن الثوانى ليصبح بهذا الشكل كمثال
1132564654653132

والرقم بالثوانى هو عبارة عن بداية احتساب عدد الثوانى من تاريخ الى لحظة التاريخ / الوقت المذكور فى i1 و i2
كود :
"01/01/1970 00:00:00"

طبعاً لما اصبح التاريخ والاوق عبارة كونه رقم
فاصبح عملية الطرح والجمع عبارة عن كما لو تقول 10-5
فالناتج المتبقي بينهم يتحول بعد ذلك لجلب الفارق لاعداد وليس لتاريخ
بمعنى عدد الاعوام / عدد الاشهر / عدد الاسابيع / عدد الايام / عدد الساعات / عدد الدقائق / عدد الثواني .. الخ

ويتم عرض ما تريده كما مشير اليه فى اخر سطر الكود وهو
كود :
       MsgBox(i3.Hours & ":" & i3.Minutes)

حيث قمت بجلب الساعات ثم الدقائق
بينما فى الرسالة التى قبلها مباشراً 

يتم جلب عدد السعات كالنسبة الئوية وهو
كود :
6.6666667

اتمنى ان تكون الصورة وضحت لك كلياً

وبخصوص السؤال كيفية تحويل الرقم الى وقت فى التقارير
فقط كل ما عليك ان تاتى فى اداء  text بالتقرير الذى يحتوى على الرقم
وعدل فى خصائصه لتقوم بتعريف الاداء لقيمة وقت بدلاً من رقم وستجد ان الرقم تحول الى وقت

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}


الردود في هذا الموضوع
RE: تحويل عدد ساعات العمل من عشري (٢٫٧٥) الى - "HH:MM" في التقارير - بواسطة elgokr - 14-06-19, 09:21 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [C#.NET] مشكل يخص قراءة التقارير في برنامج aziz-ouali 0 564 08-12-23, 06:25 AM
آخر رد: aziz-ouali
  [تم الحل] مشكلة الاتصال بقاعده بيانات SQL على الشبكة maxruined 5 5,197 08-11-23, 01:00 AM
آخر رد: الحزين اليماني
  [C#.NET] تحويل كود ahmed_king2023 2 887 06-06-23, 09:44 AM
آخر رد: fouadhdfouad
  [VB.NET] تحويل كود ahmed_king2023 6 1,349 22-04-23, 11:30 PM
آخر رد: ahmed_king2023
  [C#.NET] القسمة على عدد عشري h2551996 4 908 26-03-23, 01:00 PM
آخر رد: sanyor77
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 845 10-01-23, 03:02 PM
آخر رد: ali_ahmed12
  [C#.NET] تحويل كود الي c# ali_ahmed12 2 961 03-12-22, 03:52 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 5 1,282 30-11-22, 07:32 PM
آخر رد: ali_ahmed12
  [VB.NET] تحويل كود الي c# ali_ahmed12 0 661 29-11-22, 06:30 PM
آخر رد: ali_ahmed12
  [C#.NET] تحويل كود تالي الي c# ali_ahmed12 5 1,284 17-11-22, 04:25 AM
آخر رد: yaser27

التنقل السريع :


يقوم بقرائة الموضوع: