Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Превратить дату/времья в сенкуды (The Unix Epoch) и обратно / 5 сообщений из 5, страница 1 из 1
10.01.2012, 01:47
    #37607012
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
Нужно вот это для VB или черканите формулу я сам доделаю
...
Рейтинг: 0 / 0
10.01.2012, 04:53
    #37607060
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
Для VB или для VBA?
И пример исходника можно? В том смысле, что - какие значения переводить (ибо в разных базах-источниках отсчет и дифферент - разный)...
...
Рейтинг: 0 / 0
10.01.2012, 09:42
    #37607137
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
Андрей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
10.01.2012, 09:47
    #37607140
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
вместо
Код: 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
Период между сообщениями больше года.
08.07.2013, 20:33
    #38324767
Бориска
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Превратить дату/времья в сенкуды (The Unix Epoch) и обратно
Public Function unixTOdate(dates As String)

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

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


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