Страница: 1 |
Страница: 1 |
Вопрос: Помогите чайнику
Добавлено: 17.02.06 13:48
Автор вопроса: anteros | ICQ: 98841429
Необходимо определить количество лет(дней) между двумя датами.
Что-то на подобие =ДНЕЙ360(B4;C4), только точнее, чем 360 и результат должен быть представлен в виде "лет_дней"
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #1
Добавлено: 17.02.06 14:17
Вот типа так, можно считать время от загрузки проги и до завершения, и
писать в файл, только тут косяк - если время переходит через 12 ночи,
не правильно делает:
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-сайт:
Профиль | | #2
Добавлено: 17.02.06 14:46
 ate (функция) - возвращает значение системной даты
 ateAdd (функция) - возвращает переменную типа Variant, содержащуюдату, отличающуюся от заданной на определенный интервал времени
 ateDiff (функция) - возвращает число временных интервалов между двумядатами
 atePart (функция) - возвращает определенную часть заданной даты
 ateSerial (функция) - возвращает дату для заданного года, месяцаи дня
 ateValue (функция) - возвращает дату
 ay (функция) - возвращает число от 1 до 31, соответствующее текущемудню месяца
Пример ариф операций над датами:
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 strRelation As String
dtmDate1 = #5/30/1999#
dtmDate2 = #6/30/1999#
If dtmDate1 < dtmDate2 Then
strRelation = "Дата1 меньше Дата2"
Else
strRelation = "Дата1 больше Дата2"
End If
T1 = CDate("01:17:32"
T2 = CDate("02:38:41"
MsgBox Format(T2 - T1, "hh:mm:ss"