Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.Net在线时间_Vb.net - Fatal编程技术网

VB.Net在线时间

VB.Net在线时间,vb.net,Vb.net,我有一个函数,返回在线日期和时间,但由于某种原因,分钟不起作用。当我为分钟数添加值时,它始终保持不变,不会向前移动 Public Function OnlineTimeNow() As DateTime ' --- create instance of UDP Dim objSck As System.Net.Sockets.UdpClient Dim ipAny As System.Net.IPEndPoint = New System.Ne

我有一个函数,返回在线日期和时间,但由于某种原因,分钟不起作用。当我为分钟数添加值时,它始终保持不变,不会向前移动

 Public Function OnlineTimeNow() As DateTime

        ' --- create instance of UDP
        Dim objSck As System.Net.Sockets.UdpClient
        Dim ipAny As System.Net.IPEndPoint = New System.Net.IPEndPoint(System.Net.IPAddress.Any, 0)
        objSck = New System.Net.Sockets.UdpClient(ipAny)
        ' --- send UDP
        Dim sdat As Byte() = New Byte(47) {}
        sdat(0) = &HB
        objSck.Send(sdat, sdat.GetLength(0), "time.windows.com", 123)
        ' --- receive UDP
        Dim rdat As Byte() = objSck.Receive(ipAny)
        ' elapsed time (date and time) from 1900/01/01 --- 
        Dim elapsedTotalSec As Long ' elapsed seconds from 1900/01/01 --- 
        Dim Days As Long    ' days --- 日
        Dim HH As Long    ' hours --- 時
        Dim MM As Long    ' minutes --- 分
        Dim SS As Long    ' seconds --- 秒
        ' --- elapsed seconds from 1900/01/01 --- 
        elapsedTotalSec = CLng(
              rdat(40) * Math.Pow(2, (8 * 3)) +
              rdat(41) * Math.Pow(2, (8 * 2)) +
              rdat(42) * Math.Pow(2, (8 * 1)) +
              rdat(43))
        ' ---
        Days = elapsedTotalSec \ (24 * 60 * 60)   ' days 
        SS = elapsedTotalSec Mod (24 * 60 * 60) ' mod seconds 
        HH = SS \ (60 * 60)
        SS = SS Mod (60 * 60)
        MM = MM \ (60 * 60)
        SS = SS Mod 60
        ' --- convert to DateTime type 
        'Dim dtTime As DateTime = "1900/01/01"
        Dim dtTime As DateTime
        'dtTime = dtTime.AddDays(Days)
        dtTime = dtTime.AddHours(HH)
        dtTime = dtTime.AddMinutes(MM)
        dtTime = dtTime.AddSeconds(SS)
        ' --- change Greenwich Mean Time to local time (my sample is Japanese Time) 
        dtTime = dtTime.AddHours(8) ' <<-- *** please modify (n) according to your location ***
        ' ---
        Return dtTime

    End Function
公共函数OnlineTimeNow()作为日期时间
' --- 创建UDP的实例
Dim objSck As System.Net.Sockets.UdpClient
Dim ipAny As System.Net.IPEndPoint=新System.Net.IPEndPoint(System.Net.IPAddress.Any,0)
objSck=New System.Net.Sockets.UdpClient(ipAny)
“---发送UDP
Dim sdat As Byte()=新字节(47){}
sdat(0)=&HB
发送(sdat,sdat.GetLength(0),“time.windows.com”,123)
'---接收UDP
Dim rdat As Byte()=objSck.Receive(ipAny)
'从1900/01/01经过的时间(日期和时间)——
从1900/01/01起经过的秒数--
黯淡的日子如同漫长的日子--日
将HH变暗为长“小时--”時
将MM变暗为长“分钟”——分
将SS调暗为“秒”长--秒
“--从1900/01/01开始经过的秒数--”
elapsedTotalSec=CLng(
rdat(40)*数学功率(2,(8*3))+
rdat(41)*数学功率(2,(8*2))+
rdat(42)*数学功率(2,(8*1))+
rdat(43))
' ---
天数=elapsedTotalSec \(24*60*60)天
SS=elapsedTotalSec模式(24*60*60)“模式秒
HH=SS\(60*60)
SS=SS模(60*60)
毫米=毫米\(60*60)
SS=SS模块60
'---转换为日期时间类型
'Dim dtTime As DateTime=“1900/01/01”
Dim dtTime作为日期时间
'dtTime=dtTime.AddDays(天)
dtTime=dtTime.AddHours(小时)
dtTime=dtTime.AddMinutes(毫米)
dtTime=dtTime.AddSeconds(SS)
---将格林威治标准时间改为当地时间(我的样本是日本时间)

dtTime=dtTime.AddHours(8)’如果您想获得GTM时间,只需使用以下工具即可:

Dim dtTime As DateTime
dtTime = DateTime.UtcNow
这是一个如何将Utc时间转换为其他时区的示例:

 Sub Main()

        Dim DT As DateTime = DateTime.UtcNow    
        Dim DTSEAsia As DateTime
        Dim Tz As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time")

        DTSEAsia = TimeZoneInfo.ConvertTimeFromUtc(DT, Tz)

    End Sub
这是时区信息的可能值

Dateline Standard Time
UTC-11
Samoa tandard Time
Hawaiian Standard Time
Alaskan Standard Time
Pacific Standard Time (Mexico)
Pacific Standard Time
US Mountain Standard Time
Mountain Standard Time (Mexico)
Mountain Standard Time
Central America Standard Time
Central Standard Time
Central Standard Time (Mexico)
Canada Central Standard Time
SA Pacific Standard Time
Eastern Standard Time
US Eastern Standard Time
Venezuela Standard Time
Paraguay Standard Time
Atlantic Standard Time
Central Brazilian Standard Time
SA Western Standard Time
Pacific SA Standard Time
Newfoundland Standard Time
E.South America Standard Time
Argentina Standard Time
SA Eastern Standard Time
Greenland Standard Time
Montevideo Standard Time
UTC-2
Mid-Atlantic Standard Time
Azores Standard Time
Cape Verde Standard Time
Morocco Standard Time
UTC
GMT Standard Time
Greenwich Standard Time
W.Europe Standard Time
Central Europe Standard Time
Romance Standard Time
Central European Standard Time
W.Central Africa Standard Time
Namibia Standard Time
Jordan Standard Time
GTB Standard Time
Middle East Standard Time
Egypt Standard Time
Syria Standard Time
South Africa Standard Time
FLE Standard Time
Israel Standard Time
E.Europe Standard Time
Arabic Standard Time
Arab Standard Time
Russian Standard Time
E.Africa Standard Time
Iran Standard Time
Arabian Standard Time
Azerbaijan Standard Time
Mauritius Standard Time
Georgian Standard Time
Caucasus Standard Time
Afghanistan Standard Time
Ekaterinburg Standard Time
Pakistan Standard Time
West Asia Standard Time
India Standard Time
Sri Lanka Standard Time
Nepal Standard Time
Central Asia Standard Time
Bangladesh Standard Time
N.Central Asia Standard Time
Myanmar Standard Time
SE Asia Standard Time
North Asia Standard Time
China Standard Time
North Asia East Standard Time
Singapore Standard Time
W.Australia Standard Time
Taipei Standard Time
Ulaanbaatar Standard Time
Tokyo Standard Time
Korea Standard Time
Yakutsk Standard Time
Cen.Australia Standard Time
AUS Central Standard Time
E.Australia Standard Time
AUS Eastern Standard Time
West Pacific Standard Time
Tasmania Standard Time
Vladivostok Standard Time
Central Pacific Standard Time
New Zealand Standard Time
UTC+12
Fiji Standard Time
Kamchatka Standard Time
Tonga Standard Time

只需为下一个用户发布一个简单的方法“在线日期和时间VB.NET”


归功于@Jimi-谢谢^ ^ ^

除了这个
MM=MM\(60*60)
,你从来没有分配过任何东西给
MM
,只使用它自己。你只是想得到GTM时间吗?是的,我一直在到处搜索,但没有找到成功的方法:(也许你可以帮我=>(纯文本),(JSON)例如:
dim client as WebClient=New WebClient()dim manilaDateTime=DateTimeOffset.Parse(client.DownloadString(“https://worldtimeapi.org/api/timezone/Asia/Manila.txtSplit(ChrW(10)).Skip(2.First().Substring(10))
谢谢,有一件小事,我怎样才能指出它是如何使用菲律宾时间的呢?看一看:它有一个
ConvertTime
方法,可以根据指定的时区转换日期时间。我已经编辑了我的帖子,包括一个如何转换日期时间的示例。非常感谢
Private Sub OnlineDateAndTime()

        Dim client As WebClient = New WebClient()

        'Download The TextFile From Web.
        'Refer To "https://worldtimeapi.org/" about the link below
        Dim DateAndTimeFromWeb = DateTimeOffset.Parse(client.DownloadString("https://worldtimeapi.org/api/timezone/Asia/Manila.txt").Split(ChrW(10)).Skip(2).First().Substring(10))


        Dim TimeNow As DateTime
        Dim DateNow As DateTime


        'Get Only Time
        TimeNow = DateAndTimeFromWeb.ToString
        TimeNow = TimeOfDay.ToString("h:mm:ss tt")

        'Get Only Date
        DateNow = DateAndTimeFromWeb.ToString
        DateNow = DateTime.Now.ToString("dd/MM/yyyy")

        'Show Results in Textbox or Label or Any
        TextBox1.Text = DateNow
        TextBox2.Text = TimeNow

    End Sub