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

نام تاپیک: اختلاف دو زمان ما بین دو روزمختلف

  1. #1

    اختلاف دو زمان ما بین دو روزمختلف

    با سلام خدمت دوستان عزیز

    کارمندی ساعت 22:30 شب روز 12/02/1390 وارد شرکت می شود و ساعت 06:30 صبح 13/02/1390 از شرکت خارج می شود اختلاف این دو زمان میادن دو روز متفاوت را به چه صورتی می توان استخراج نمود.

    یعنی کارکرد این کارمند به میزان 8:00 ساعت را دریافت نمود.

  2. #2
    کاربر دائمی آواتار barbodsoft.com
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    آمل
    سن
    44
    پست
    469

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف



    Imports System.Globalization.PersianCalendar

    Public Class Form1

    Public Function ShamsiToMiladi(ByVal SDate As String, ByVal h As Integer, ByVal mi As Integer) As String
    Dim pc As New Globalization.PersianCalendar
    ShamsiToMiladi = Nothing
    Dim Tarikh
    Tarikh = Split(SDate, "/")
    Dim dateOut As DateTime = (pc.ToDateTime(Tarikh(0), Tarikh(1), Tarikh(2), h, mi, 0, 0))
    Return dateOut
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim DateM1 As Date = ShamsiToMiladi("1390/02/12", 22, 30) 'معادل میلادی تاریخ وارد شده حساب می شود ShamsiToMiladi از طریق تابع
    Dim DateM2 As Date = ShamsiToMiladi("1390/02/14", 6, 20)

    Dim Y As Integer = DateDiff(DateInterval.Year, DateM1, DateM2) ' اختلاف تاریخ به سال محاسبه می شود
    DateM1 = DateM1.AddYears(Y) 'اختلاف سال به DateBrith اضافه می شود
    Dim M As Integer = DateDiff(DateInterval.Month, DateM1, DateM2) ' اختلاف ماه محاسبه می شود
    DateM1 = DateM1.AddMonths(M) ' اختلاف ماه به DateBrith اضافه می شود
    Dim D As Integer = DateDiff(DateInterval.Day, DateM1, DateM2) ' اختلاف روز محاسبه می شود
    DateM1 = DateM1.AddDays(D)
    Dim H As Integer = DateDiff(DateInterval.Hour, DateM1, DateM2) ' اختلاف روز محاسبه می شود
    DateM1 = DateM1.AddHours(H)
    Dim mi As Integer = DateDiff(DateInterval.Minute, DateM1, DateM2) ' اختلاف روز محاسبه می شود
    MsgBox("DateDiff is :" & Y & "/" & M & "/" & D & " " & H & ":" & mi)
    End Sub
    End Class

  3. #3

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    ممنون از پاسخ شما
    اما من تاریحی ندارم که مبنا قرار بدم. اصلا بذارید اینجوری بگم شاید بهتر باشه. و بتونید بهتر راهنماییم کنید.

    ببنید شما فرض کن دو تا کست باکس داریم تو یه فرم تو اولی وارد می کنیم 22:30 و تو دومی 06:30 حالا اختلاف این دو رو تو تکست باکس سوم به صورت 08:00 نمایش بده .

    با تشکر از شما

  4. #4
    کاربر دائمی آواتار barbodsoft.com
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    آمل
    سن
    44
    پست
    469

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    شما فقط باید این دو خط رو مقدار دهی کنی. خط اول شروع تاریخ و دومی پایان تاریخ

    Dim DateM1 As Date = ShamsiToMiladi("1390/02/12", 22, 30) 'معادل میلادی تاریخ وارد شده حساب می شود ShamsiToMiladi از طریق تابع
    Dim DateM2 As Date = ShamsiToMiladi("1390/02/14", 6, 20)


    مثلا در خط اول این تاریخ مقدار دهی شده "22:30 1390/02/12" شما باید متغییر های رو بجای این اعداد قرار بدی تو کد.

  5. #5

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

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

  6. #6

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    با سلام خدمت دوست عزيز ابتدا 3 تا ليبل بساز و يه دكمه كد هاي زير رو تو رويداد كليك اين دكمه قرار بده
    Dim D1 AsDate
    Dim D2 AsDate
    Label1.Text = "1390/02/12,22:30"
    Label2.Text = "1390/02/13,06:30"
    D1 = Convert.ToDateTime(Label1.Text)
    D2 = Convert.ToDateTime(Label2.Text)
    'MessageBox.Show((D2 - D1).ToString)
    Label3.Text = (D2 - D1).ToString

    جواب خواهي گرفت
    آخرین ویرایش به وسیله nowar1352 : یک شنبه 18 اردیبهشت 1390 در 14:54 عصر

  7. #7

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    با سلام

    این نمونه برنامه رو برات درست کردم امیدوارم بتونه مشکلت رو حل کنه.

    موفق باشی
    فایل های ضمیمه فایل های ضمیمه

  8. #8

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    نقل قول نوشته شده توسط nowar1352 مشاهده تاپیک
    با سلام خدمت دوست عزيز ابتدا 3 تا ليبل بساز و يه دكمه كد هاي زير رو تو رويداد كليك اين دكمه قرار بده
    Dim D1 AsDate
    Dim D2 AsDate
    Label1.Text = "1390/02/12,22:30"
    Label2.Text = "1390/02/13,06:30"
    D1 = Convert.ToDateTime(Label1.Text)
    D2 = Convert.ToDateTime(Label2.Text)
    'MessageBox.Show((D2 - D1).ToString)
    Label3.Text = (D2 - D1).ToString

    جواب خواهي گرفت
    عزیزم
    بنده برای تاریخ زیر تست کردم با مشکل مواجه شدم
    حالا باید چه کار کرد ؟
    d1 = Convert.ToDateTime("1390/02/30,22:30")
    d2 = Convert.ToDateTime("1390/02/31,07:30")

    خودم جواب خودمو با همکاری یکی از دوستام میدم
    این کارو بکنید بهتره
    Dim y As Integer = 1391
    Dim m As Integer = 2
    Dim d As Integer = 30
    Dim h As Integer = 22
    Dim min As Integer = 25
    Dim pc As New PersianCalendar()
    Dim dt As DateTime = pc.ToDateTime(y, m, d, h, min, 0, _
    0)
    y = 1391
    m = 2
    d = 31
    h = 7
    min = 25
    Dim dt1 As DateTime = pc.ToDateTime(y, m, d, h, min, 0, _
    0)
    Dim d1 As TimeSpan = dt1.Subtract(dt)

    MsgBox(d1.Hours)
    آخرین ویرایش به وسیله mehdis86 : شنبه 11 آذر 1391 در 11:06 صبح

  9. #9

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    نقل قول نوشته شده توسط barbodsoft.com مشاهده تاپیک


    Imports System.Globalization.PersianCalendar

    Public Class Form1

    Public Function ShamsiToMiladi(ByVal SDate As String, ByVal h As Integer, ByVal mi As Integer) As String
    Dim pc As New Globalization.PersianCalendar
    ShamsiToMiladi = Nothing
    Dim Tarikh
    Tarikh = Split(SDate, "/")
    Dim dateOut As DateTime = (pc.ToDateTime(Tarikh(0), Tarikh(1), Tarikh(2), h, mi, 0, 0))
    Return dateOut
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim DateM1 As Date = ShamsiToMiladi("1390/02/12", 22, 30) 'معادل میلادی تاریخ وارد شده حساب می شود ShamsiToMiladi از طریق تابع
    Dim DateM2 As Date = ShamsiToMiladi("1390/02/14", 6, 20)

    Dim Y As Integer = DateDiff(DateInterval.Year, DateM1, DateM2) ' اختلاف تاریخ به سال محاسبه می شود
    DateM1 = DateM1.AddYears(Y) 'اختلاف سال به DateBrith اضافه می شود
    Dim M As Integer = DateDiff(DateInterval.Month, DateM1, DateM2) ' اختلاف ماه محاسبه می شود
    DateM1 = DateM1.AddMonths(M) ' اختلاف ماه به DateBrith اضافه می شود
    Dim D As Integer = DateDiff(DateInterval.Day, DateM1, DateM2) ' اختلاف روز محاسبه می شود
    DateM1 = DateM1.AddDays(D)
    Dim H As Integer = DateDiff(DateInterval.Hour, DateM1, DateM2) ' اختلاف روز محاسبه می شود
    DateM1 = DateM1.AddHours(H)
    Dim mi As Integer = DateDiff(DateInterval.Minute, DateM1, DateM2) ' اختلاف روز محاسبه می شود
    MsgBox("DateDiff is :" & Y & "/" & M & "/" & D & " " & H & ":" & mi)
    End Sub
    End Class
    با تشکر از شما ولی یه سوال
    من مقادیرو اوردم تو تکست باکس و می خوام هر ثانیه این مقادیر به روز بشن ، چه باید کرد ؟
    البته من تاریخ دوم و تاریخ جاری سیستم قرار دادم .

  10. #10
    کاربر دائمی آواتار zahedi121
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر آسمان خدا
    پست
    293

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    سلام
    رویداد کلیک سورسی که ازش نقل قول کردید را در رویداد tick تایمر بنویسد وخاصیت text تکست باکستون را هم برابر گزینه داخل مسج باکس بگذارید .
    ضمنا شما باید یک مقدار DateDiff(DateInterval.second, DateM1, DateM2) هم مانند سال و ماه و ساعت (باهمون فرمت) اضافه کنید که ثانیه را به شما بدهد.

    موفق باشید

  11. #11

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    نقل قول نوشته شده توسط zahedi121 مشاهده تاپیک
    سلام
    رویداد کلیک سورسی که ازش نقل قول کردید را در رویداد tick تایمر بنویسد وخاصیت text تکست باکستون را هم برابر گزینه داخل مسج باکس بگذارید .
    ضمنا شما باید یک مقدار DateDiff(DateInterval.second, DateM1, DateM2) هم مانند سال و ماه و ساعت (باهمون فرمت) اضافه کنید که ثانیه را به شما بدهد.

    موفق باشید

    Imports System.Globalization.PersianCalendar
    Public Class Form1
    Public Function ShamsiToMiladi(ByVal SDate As String, ByVal h As Integer, ByVal mi As Integer) As String
    Dim pc As New Globalization.PersianCalendar
    ShamsiToMiladi = Nothing
    Dim Tarikh
    Tarikh = Split(SDate, "/")
    Dim dateOut As DateTime = (pc.ToDateTime(Tarikh(0), Tarikh(1), Tarikh(2), h, mi, 0, 0))
    Return dateOut
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim DateM1 As Date = DateTime.Now
    Dim DateM2 As Date = ShamsiToMiladi("1391/12/01", 11, 35)

    Dim Y As Integer = DateDiff(DateInterval.Year, DateM1, DateM2)
    DateM1 = DateM1.AddYears(Y)

    Dim M As Integer = DateDiff(DateInterval.Month, DateM1, DateM2)
    DateM1 = DateM1.AddMonths(M)

    Dim D As Integer = DateDiff(DateInterval.Day, DateM1, DateM2)
    DateM1 = DateM1.AddDays(D)

    Dim H As Integer = DateDiff(DateInterval.Hour, DateM1, DateM2)
    DateM1 = DateM1.AddHours(H)

    Dim mi As Integer = DateDiff(DateInterval.Minute, DateM1, DateM2)
    DateM1 = DateM1.AddMinutes(mi)

    Dim se As Integer = DateDiff(DateInterval.Second, DateM1, DateM2)
    DateM1 = DateM1.AddSeconds(se)

    TextBox1.Text = Y
    TextBox2.Text = M
    TextBox3.Text = D
    TextBox4.Text = H
    TextBox5.Text = mi
    TextBox6.Text = se

    End Sub

    End Class

    من اینجوری تغییر دادم ولی داره زمان و کم میکنه بجای اینکه افزایش بده ، مخم رد داده نمیتونم تمرکز کنم و عیبشو پیدا کنم !

  12. #12
    کاربر دائمی آواتار zahedi121
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر آسمان خدا
    پست
    293

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    سلام
    جای m1 , m2 را عوض کنید.
    در تابع shamsi to miladi اون 11 و 35 چیه ؟!
    تایمر هم که ندارید! چطوری کم میشه ؟! با کد بالا باید فقط یکبار متن تکس باکسها عوض بشه .

    یک بار از اول اصلا سورس را بگذارید کنار ،ببینید چکار می خواهید بکنید. بعد بگردید ببینید کجای سورس به دردتون میخوره استفاده کنید ( فقط شکل صحیح توابع را از سورس نگاه کنید) اینطوری که از سورسی که برای یک کاری ساخته شده میخواهید یک تکه اش را عوض کنید متوجه نمی شوید در ادامه چی بر سر متغیراتون میاد و یا حداقل کنار هر خط سورس برای خودتون بنویسید این خط چکار میکنه و خط به خط بیایید پایین تا به هدفتون برسید.

    تاپیک های دیگری هم در این خصوص هست که تابعهای دیگری را مثال زدند.

    موفق باشید.
    آخرین ویرایش به وسیله zahedi121 : چهارشنبه 16 اسفند 1391 در 07:13 صبح

  13. #13

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    نقل قول نوشته شده توسط zahedi121 مشاهده تاپیک
    سلام
    جای m1 , m2 را عوض کنید.
    در تابع shamsi to miladi اون 11 و 35 چیه ؟!
    تایمر هم که ندارید! چطوری کم میشه ؟! با کد بالا باید فقط یکبار متن تکس باکسها عوض بشه .

    یک بار از اول اصلا سورس را بگذارید کنار ،ببینید چکار می خواهید بکنید. بعد بگردید ببینید کجای سورس به دردتون میخوره استفاده کنید ( فقط شکل صحیح توابع را از سورس نگاه کنید) اینطوری که از سورسی که برای یک کاری ساخته شده میخواهید یک تکه اش را عوض کنید متوجه نمی شوید در ادامه چی بر سر متغیراتون میاد و یا حداقل کنار هر خط سورس برای خودتون بنویسید این خط چکار میکنه و خط به خط بیایید پایین تا به هدفتون برسید.

    تاپیک های دیگری هم در این خصوص هست که تابعهای دیگری را مثال زدند.

    موفق باشید.
    من تایمر هم اضافه کردم ولی باز هم جواب نگرفتم ، جای m1 , m2 رو هم با هم عوض کردم ولی باز هم نشد ، اون 11 و 35 مربوط به ساعت و دقیقه میشه .

    Imports System.Globalization.PersianCalendar
    Public Class Form1
    Public Function ShamsiToMiladi(ByVal SDate As String, ByVal h As Integer, ByVal mi As Integer) As String
    Dim pc As New Globalization.PersianCalendar
    ShamsiToMiladi = Nothing
    Dim Tarikh
    Tarikh = Split(SDate, "/")
    Dim dateOut As DateTime = (pc.ToDateTime(Tarikh(0), Tarikh(1), Tarikh(2), h, mi, 0, 0))
    Return dateOut
    End Function
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Dim DateM1 As Date = DateTime.Now
    Dim DateM2 As Date = ShamsiToMiladi("1391/12/01", 11, 35)

    Dim Y As Integer = DateDiff(DateInterval.Year, DateM1, DateM2)
    DateM1 = DateM1.AddYears(Y)

    Dim M As Integer = DateDiff(DateInterval.Month, DateM1, DateM2)
    DateM1 = DateM1.AddMonths(M)

    Dim D As Integer = DateDiff(DateInterval.Day, DateM1, DateM2)
    DateM1 = DateM1.AddDays(D)

    Dim H As Integer = DateDiff(DateInterval.Hour, DateM1, DateM2)
    DateM1 = DateM1.AddHours(H)

    Dim mi As Integer = DateDiff(DateInterval.Minute, DateM1, DateM2)
    DateM1 = DateM1.AddMinutes(mi)

    Dim se As Integer = DateDiff(DateInterval.Second, DateM1, DateM2)
    DateM1 = DateM1.AddSeconds(se)

    TextBox1.Text = Y
    TextBox2.Text = M
    TextBox3.Text = D
    TextBox4.Text = H
    TextBox5.Text = mi
    TextBox6.Text = se

    End Sub
    End Class

  14. #14
    کاربر دائمی آواتار zahedi121
    تاریخ عضویت
    اسفند 1389
    محل زندگی
    زیر آسمان خدا
    پست
    293

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    سلام
    کجا جای تاریخ ها را عوض کردید؟!
    سورستون را اصلاح کردم ، ببین منظورتون همینه :
    فایل های ضمیمه فایل های ضمیمه

  15. #15

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    نقل قول نوشته شده توسط zahedi121 مشاهده تاپیک
    سلام
    کجا جای تاریخ ها را عوض کردید؟!
    سورستون را اصلاح کردم ، ببین منظورتون همینه :
    متاسفانه ورژن دات نت من 2008 ،ارور می ده .

  16. #16
    کاربر دائمی آواتار mohsen22
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    ??????
    پست
    431

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    سلام . ضمن تشکر از همه
    من دو تاریخ و ساعت همزمان با هم دارم
    میخوام اختلاف روز و ساعت دقیق هر دو تاریخ رو محاسبه کنه
    مثلا: اختلاف= 1 روز و 5 ساعت و 20 دقیقه
    لطفا بنده رو هم راهنمایی بفرمایید (ذکر یک مثال هم درvb کمک بزرگی به بنده میکنه )
    مرسی
    لازم به توضیحه که تاریخهای من شمسی هستش

  17. #17
    کاربر دائمی آواتار mohsen22
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    ??????
    پست
    431

    نقل قول: اختلاف دو زمان ما بین دو روزمختلف

    کسی نیست مرا یاری کند؟

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

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