Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Помогите чайнику Добавлено: 17.02.06 13:48  

Автор вопроса:  anteros | ICQ: 98841429 
Необходимо определить количество лет(дней) между двумя датами.
Что-то на подобие =ДНЕЙ360(B4;C4), только точнее, чем 360 и результат должен быть представлен в виде "лет_дней"

Ответить

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

Номер ответа: 1
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #1
Добавлено: 17.02.06 14:17
Вот типа так, можно считать время от загрузки проги и до завершения, и
писать в файл, только тут косяк - если время переходит через 12 ночи,
не правильно делает:

Option Explicit
Dim dtmTimeStart
Dim dtmTimeStop
Dim dtmTimeInter As String
Dim N As String
Dim SIN As String
Dim dtmCurrent As Date
Dim SB As String
Dim strLast As String
Const R = vbCrLf
Dim strMass() As String

Private Sub Form_Load()
Timer1.Interval = 1
dtmTimeStart = Time
N = FreeFile
    
SIN = "info.txt"

Open SIN For Binary As #N
SB = Space(LOF(N))
Get #N, , SB
ReDim strMass(0)
strMass = Split(SB, R, , vbTextCompare)
Close #N
'Получаю последнюю строку в массиве строк из файла
strLast = UBound(strMass)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    N = FreeFile
    SIN = "info.txt"
    dtmCurrent = Date
    Open SIN For Append As #N
        Print #N, strLast - 3 & "." & "  " & dtmCurrent & "     |      " & dtmTimeInter
    Close N
End Sub

Private Sub Timer1_Timer()
dtmTimeStop = Time
dtmTimeInter = Format(dtmTimeStop - dtmTimeStart, "hh:mm:ss";)
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #2
Добавлено: 17.02.06 14:46
    
Date (оператор) - устанавливает значение системной даты
    ;Date (функция) - возвращает значение системной даты
    ;DateAdd (функция) - возвращает переменную типа Variant, содержащуюдату, отличающуюся от заданной на определенный интервал времени
    ;DateDiff (функция) - возвращает число временных интервалов между двумядатами
    ;DatePart (функция) - возвращает определенную часть заданной даты
    ;DateSerial (функция) - возвращает дату для заданного года, месяцаи дня
    ;DateValue (функция) - возвращает дату
    ;Day (функция) - возвращает число от 1 до 31, соответствующее текущемудню месяца


    

    Пример ариф операций над датами:

    
Dim dtmDate As Date, dtmCurrent As Date
          Dim intDate
          dtmCurrent = Now
          'результат: #5/30/2000  12:11:56#
          intDate = dtmCurrent - 5
          'результат: #5/25/2000  12:11:56#
          intDate = dtmCurrent - 5/24
          'результат: #5/30/2000  7:11:56#
          intDate = dtmCurrent - 5/(24*60)
          'результат: #5/30/2000  12:06:56#
          



    Можно сравнить:

    
Dim dtmDate1 As Date, dtmDate2 As Date
          Dim strRelation As String
          dtmDate1 = #5/30/1999#
          dtmDate2 = #6/30/1999#
          If dtmDate1 < dtmDate2 Then
              strRelation = "Дата1 меньше Дата2"
          Else
              strRelation = "Дата1 больше Дата2"
          End If
          




Разность двух дат:

Dim T1 As Date, T2 As Date
T1 = CDate("01:17:32";)
T2 = CDate("02:38:41";)
MsgBox Format(T2 - T1, "hh:mm:ss";)

Ответить

Страница: 1 |

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



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