Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Basic для платформы Android - Basic4Android - Basic4Android

Войти
Регистрация
Восстановить пароль

Показать сообщение отдельно
Pro_grammer
Модератор
5936 / 2097 / 401
Регистрация: 24.04.2011
Сообщений: 3,578
Записей в блоге: 10
26.04.2014, 07:12  [ТС]
Цитата Сообщение от Runkin Посмотреть сообщение
но на телефоне, вместо отсчёта на час, отчёт на 5 часов .. бред
Не бред. Сам сначала не врубился, а потом дошло.
Выполни просто этот код
Visual Basic
1
Msgbox("DateTime 0 =" & DateTime.Time(0),"Test")
По идее олжен быть 0, но у меня получается 4.0.0
Это связано с часовыми зонами. В реальном устройстве идет поправка даты на UTC (GMT)
В каждом устройстве можно найти и потом корректировать так
Visual Basic
1
2
Dim timezone As Long 
timezone = -DateTime.DateParse("01/01/1970")
Код с корректировкой будет выглядеть так
Visual Basic
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
Sub Process_Globals
        Dim Timer1 As Timer 
End Sub
 
Sub Globals
    
Dim CalcTime As Long = 0
Private timelabel1 As Label
Private Button1 As Button
Dim timezone As Long 
timezone = -DateTime.DateParse("01/01/1970")
End Sub
 
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("Layout1")
 
End Sub
 
Sub Activity_Resume
 
End Sub
 
Sub Activity_Pause (UserClosed As Boolean)
 
End Sub
 
Sub Timer1_Tick
    CalcTime = CalcTime + 60000
    timelabel1.Text = DateTime.Time( CalcTime - timezone)
End Sub
Sub Button1_Click
        Timer1.Initialize("Timer1",1000)
        Timer1.Enabled = True
    CalcTime = 0
End Sub
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru