日期:2014-05-20  浏览次数:21083 次

WinForm中如何读取http://time.nist.gov日期时间
NTP如何读取?

------解决方案--------------------
那个网站经常无法访问,干嘛不用国家授时中心那个网站?
------解决方案--------------------
http://www.time.ac.cn/stime.asp
------解决方案--------------------
把取到的时间解析一下就好了
------解决方案--------------------
using System.Net;
using System.Net.Sockets;
//...
private void button1_Click(object sender, EventArgs e)
{
DateTime official, localtime;
string returndata = null;
string[] dates = new string[4];
string[] times = new string[4];
string[] tokens = new string[11];

TcpClient tcpclient = new TcpClient();
try
{
tcpclient.Connect( "time.nist.gov ", 13);

NetworkStream networkStream = tcpclient.GetStream();
if (networkStream.CanWrite && networkStream.CanRead)
{
Byte[] sendBytes = Encoding.ASCII.GetBytes( "Hello ");
networkStream.Write(sendBytes, 0, sendBytes.Length);
byte[] bytes = new byte[tcpclient.ReceiveBufferSize];
networkStream.Read(bytes, 0, (int)tcpclient.ReceiveBufferSize);
returndata = Encoding.ASCII.GetString(bytes);
}
tcpclient.Close();
}
catch (Exception excep)
{
MessageBox.Show(excep.ToString());
return;
}

tokens = returndata.Split( ' ');
dates = tokens[1].Split( '- ');
times = tokens[2].Split( ': ');

official = new DateTime(Int32.Parse(dates[0]) + 2000, Int32.Parse(dates[1]), Int32.Parse(dates[2]),
Int32.Parse(times[0]), Int32.Parse(times[1]), Int32.Parse(times[2]));
localtime = TimeZone.CurrentTimeZone.ToLocalTime(official);
MessageBox.Show(localtime.ToString());
}

------解决方案--------------------
随便看个帖子都想留个记号.
------解决方案--------------------
mark
------解决方案--------------------
ding