powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
5 сообщений из 5, страница 1 из 1
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
    #37607012
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно вот это для VB или черканите формулу я сам доделаю
...
Рейтинг: 0 / 0
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
    #37607060
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для VB или для VBA?
И пример исходника можно? В том смысле, что - какие значения переводить (ибо в разных базах-источниках отсчет и дифферент - разный)...
...
Рейтинг: 0 / 0
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
    #37607137
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

можно тупо разложить дату на года, месяцы и тд и каждое перевестив секунды:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Private Sub Form_Load() 'dopystim tebe nyjno vrem9 ot 1950
Dim x As Long
Dim a  As Long
Dim vrem9 As Long
vrem9 = 0
For x = 1950 To Year(Date) - 1
If x Mod 4 = 0 Then a = 86400 * 366 Else a = 86400 * 365
vrem9 = vrem9 + a
Next x

If Month(Date) = 1 Then
Else
For x = 1 To Month(Date)-1
If x = 1 Or x = 3 Or x = 5 Or x = 7 Or x = 8 Or x = 10 Or x = 12 Then
a = 60 * 60 * 24 * 31
ElseIf x = 4 Or x = 6 Or x = 9 Or x = 11 Then
a = 60 * 60 * 24 * 30
ElseIf x = 2 Then
If Year(Date) Mod 4 = 0 Then a = 29 Else a = 28
vrem9 = vrem9 + a
End If
Next x
End If

If Day(Date) = 1 Then
Else
vrem9 = vrem9 + (Day(Date) - 1) * 60 * 60 * 24
'Ývrem9  vrem9 + (month(date)-1)*×
End If

If Hour(Time) = 0 Then
Else
vrem9 = vrem9 + Hour(Time) * 60 * 60
'Ývrem9  vrem9 + (month(date)-1)*×
End If

If Minute(Time) = 0 Then
Else
vrem9 = vrem9 + Minute(Time) * 60
End If

vrem9 = vrem9 + Second(Time)
Text2.Text = vrem9
End Sub


либо попробовать перевести всё в единые стандарты, т.к. в году 31 556 926 секунд. с этим будет морока, но зато не придётся корректировать время по весокосным годам, считать, когда менялось время и когда октябрьская революция стала нояюрьской и тд. возможно, есть стандартные способы решения задачи, хз.
...
Рейтинг: 0 / 0
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
    #37607140
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо
Код: vbnet
1.
If Year(Date) Mod 4 = 0 Then a = 29 Else a = 28

Код: vbnet
1.
If Year(Date) Mod 4 = 0 Then a = 29*60*60*24 Else a = 28*60*60*24

возможны ещё технические и орфографические недочёты)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
    #38324767
Бориска
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Public Function unixTOdate(dates As String)

unixTOdate = DateAdd("s", dates, CDate("01.01.1970"))

End Function
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]