Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Дата минус дата Добавлено: 15.12.03 09:11  

Автор вопроса:  RAD
Здравствуйте !
Нужен исходник, корректно определяющий в гг-мм-дд например, стаж работы.
Спасибо !!! 

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Scuder



ICQ: 143518458 

Вопросов: 12
Ответов: 37
 Профиль | | #1 Добавлено: 15.12.03 15:54

Не совсем понятный вопрос, но если нужно из даты вычесть дату, то это делается так же, как и с обычными переменными:

Dim PDate As Date

PDate = "11.12.2003"

'PDate = "2003.12.11"

MsgBox Date - PDate

И не важно, в каком формате задана дата..

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 15.12.03 16:52

Еще можно использовать DateDiff

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 15.12.03 19:36

Держи! Эта функция вычисляет разницу между двумя датами и форматирует полученный результат.Возможно придется её немного доработать под твои нужды.Я её постоянно использую.

Function dhFormatInterval(dtmStart As Date, dtmEnd As Date, _
       Optional strFormat As String = "H:MM:SS") As String
    Dim lngSeconds As Long
    Dim sngMinutes As Single
    Dim sngHours As Single
    Dim sngDays As Single
    Dim intSeconds As Integer
    Dim intMinutes As Integer
    Dim intHours As Integer
    Dim intRoundedHours As Integer
    Dim intRoundedMinutes As Integer
    Dim strDay As String
    Dim strHour As String
    Dim strMinute As String
    Dim strSecond As String
    Dim strOut As String
    Dim lngFullDays As Long
    Dim lngFullHours As Long
    Dim lngFullMinutes As Long
    Dim strDelim As String
    strDelim = ":"
    lngSeconds = DateDiff("s", dtmStart, dtmEnd)
    sngMinutes = lngSeconds / 60
    sngHours = sngMinutes / 60
    sngDays = sngHours / 24
    lngFullDays = Int(sngDays)
    lngFullHours = Int(sngHours)
    lngFullMinutes = Int(sngMinutes)
    intHours = Int((sngDays - lngFullDays) * 24)
    intMinutes = Int((sngHours - lngFullHours) * 60)
    intSeconds = CInt((sngMinutes - lngFullMinutes) * 60)
    intRoundedHours = intHours - (intMinutes > 30)
    intRoundedMinutes = intMinutes - (intSeconds > 30)
    strDay = "Days"
    strHour = "Hours"
    strMinute = "Minutes"
    strSecond = "Seconds"
    If lngFullDays = 1 Then strDay = "Day"
    Select Case strFormat
        Case "D H"
            If intRoundedHours = 1 Then strHour = "Hour"
            strOut = lngFullDays & " " & strDay & " " & _
               intRoundedHours & " " & strHour
        Case "D H M"
            If intHours = 1 Then strHour = "Hour"
            If intRoundedMinutes = 1 Then strMinute = "Minute"
            strOut = lngFullDays & " " & strDay & " " & _
               intHours & " " & strHour & " " & _
               intRoundedMinutes & " " & strMinute
        Case "D H M S"
            If intHours = 1 Then strHour = "Hour"
            If intMinutes = 1 Then strMinute = "Minute"
            If intSeconds = 1 Then strSecond = "Second"
            strOut = lngFullDays & " " & strDay & " " & _
               intHours & " " & strHour & " " & _
               intMinutes & " " & strMinute & " " & _
               intSeconds & " " & strSecond
        Case "D H:MM"      ' 3 Days 2:46"
            strOut = lngFullDays & " " & strDay & " " & _
               intHours & strDelim & Format(intRoundedMinutes, "00")
        Case "D HH:MM"     ' 3 Days 02:46"
            strOut = lngFullDays & " " & strDay & " " & _
               Format(intHours, "00") & strDelim & _
               Format(intRoundedMinutes, "00")
        Case "D HH:MM:SS"  ' 3 Days 02:45:45"
            strOut = lngFullDays & " " & strDay & " " & _
               Format(intHours, "00") & strDelim & _
               Format(intMinutes, "00") & strDelim & _
               Format(intSeconds, "00")
        Case "H M"         ' 74 Hours 46 Minutes"
            If lngFullHours = 1 Then strHour = "Hour"
            If intRoundedMinutes = 1 Then strMinute = "Minute"
            strOut = lngFullHours & " " & strHour & " " & _
               intRoundedMinutes & " " & strMinute
        Case "H:MM"        ' 74:46 (leading 0 on minutes, if necessary)
            strOut = lngFullHours & strDelim & Format(intRoundedMinutes, "00")
        Case "H:MM:SS"     ' 74:45:45"
            strOut = lngFullHours & strDelim & _
               Format(intMinutes, "00") & st

Ответить

Номер ответа: 4
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #4 Добавлено: 15.12.03 19:40
 Case "H:MM:SS"     ' 74:45:45"
            strOut = lngFullHours & strDelim & _
               Format(intMinutes, "00") & strDelim & _
               Format(intSeconds, "00")
        Case "M S"         ' 4485 Minutes 45 Seconds
            If lngFullMinutes = 1 Then strMinute = "Minute"
            If intSeconds = 1 Then strSecond = "Second"
            strOut = lngFullMinutes & " " & strMinute & " " & _
               intSeconds & " " & strSecond
        Case "M:SS"        ' 4485:45 (leading 0 on seconds, if necessary)"
            strOut = lngFullMinutes & strDelim & _
               Format(intSeconds, "00")
        Case Else
            strOut = ""
    End Select
    dhFormatInterval = strOut

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам